Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add: Page start options (templates and patterns). #39147

Closed
wants to merge 1 commit into from

Conversation

jorgefilipecosta
Copy link
Member

Fixes: #38787

This PR adds a set of options when the user is creating a new page.
The options allow the user to choose a template for the page (with previews) and a pattern to fill the content of the page.
@youknowriad said:

Ideally, we'd have ways to mark "patterns" as "full page patterns".

This is done by adding 'blockTypes' => array( 'core/post-content' ), to the patterns that we say are for the full "post content". We could instead add a new flag. But it seems we can use what we already have to mark that a pattern is for the full content.

Although the implementation is fully functional from the UX perspective there is still lots of work to do. Right now we are just showing two simple modals one for the template and another for the pattern.

Some questions:

Would a "wizard" with a back next to pick a template and pattern make sense?
Another alternative could we instead show a list of templates at the side of the patterns with the default template already chosen (the user can switch the template) but as soon as the user chooses a pattern we close the modal. When the user switches template we just change the template without close the modal? Basically, a single modal to choose a pattern with a lateral UI to switch the template.
For the pattern previews should we just show the pattern preview like we do now or should we show a full preview e.g: the full template with the chosen pattern as the content?

Patterns for blank templates

I guess we may have some patterns that just make sense one a blank template e.g: the patterns take control of the full page and only makes sense on a template that just includes: <!-- wp:post-content /-->.

Should we have a way to mark these patterns?
blockTypes' => array( 'core/post-content' ) is different it marks patterns that make sense as the full content of a page. But the page can have a template with headers footers sidebars etc.

But I guess we may have patterns that require a blank template for these patterns when chosen we would use a blank template if the theme provides one (like 2022 does) or we would automatically create a blank template if one does not already exists.

Testing Instructions

I added 'blockTypes' => array( 'core/post-content' ), to some patterns of the 2022 theme.
I created a new page and verified there are prompts to choose a template and a pattern of the page.
I verified both the template and the patterns are correctly applied to the page.

Screenshots

image
image

@jorgefilipecosta jorgefilipecosta added Needs Design Needs design efforts. [Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced labels Mar 1, 2022
@github-actions
Copy link

github-actions bot commented Mar 1, 2022

Size Change: +869 B (0%)

Total Size: 1.15 MB

Filename Size Change
build/edit-post/index.min.js 30.5 kB +665 B (+2%)
build/edit-post/style-rtl.css 7.25 kB +102 B (+1%)
build/edit-post/style.css 7.24 kB +102 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 993 B
build/admin-manifest/index.min.js 1.24 kB
build/annotations/index.min.js 2.77 kB
build/api-fetch/index.min.js 2.27 kB
build/autop/index.min.js 2.15 kB
build/blob/index.min.js 487 B
build/block-directory/index.min.js 6.49 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/index.min.js 144 kB
build/block-editor/style-rtl.css 14.8 kB
build/block-editor/style.css 14.8 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 445 B
build/block-library/blocks/button/editor.css 445 B
build/block-library/blocks/button/style-rtl.css 560 B
build/block-library/blocks/button/style.css 560 B
build/block-library/blocks/buttons/editor-rtl.css 292 B
build/block-library/blocks/buttons/editor.css 292 B
build/block-library/blocks/buttons/style-rtl.css 275 B
build/block-library/blocks/buttons/style.css 275 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 103 B
build/block-library/blocks/code/style.css 103 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 406 B
build/block-library/blocks/columns/style.css 406 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-template/style-rtl.css 127 B
build/block-library/blocks/comment-template/style.css 127 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-query-loop/editor-rtl.css 95 B
build/block-library/blocks/comments-query-loop/editor.css 95 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.56 kB
build/block-library/blocks/cover/style.css 1.56 kB
build/block-library/blocks/embed/editor-rtl.css 293 B
build/block-library/blocks/embed/editor.css 293 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 353 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 965 B
build/block-library/blocks/gallery/editor.css 967 B
build/block-library/blocks/gallery/style-rtl.css 1.61 kB
build/block-library/blocks/gallery/style.css 1.61 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 518 B
build/block-library/blocks/image/style.css 523 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 199 B
build/block-library/blocks/latest-posts/editor.css 198 B
build/block-library/blocks/latest-posts/style-rtl.css 447 B
build/block-library/blocks/latest-posts/style.css 446 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 649 B
build/block-library/blocks/navigation-link/editor.css 650 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/view.min.js 375 B
build/block-library/blocks/navigation/editor-rtl.css 2.03 kB
build/block-library/blocks/navigation/editor.css 2.04 kB
build/block-library/blocks/navigation/style-rtl.css 1.89 kB
build/block-library/blocks/navigation/style.css 1.88 kB
build/block-library/blocks/navigation/view.min.js 2.85 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 363 B
build/block-library/blocks/page-list/editor.css 363 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/style-rtl.css 446 B
build/block-library/blocks/post-comments-form/style.css 446 B
build/block-library/blocks/post-comments/style-rtl.css 521 B
build/block-library/blocks/post-comments/style.css 521 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 721 B
build/block-library/blocks/post-featured-image/editor.css 721 B
build/block-library/blocks/post-featured-image/style-rtl.css 153 B
build/block-library/blocks/post-featured-image/style.css 153 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 323 B
build/block-library/blocks/post-template/style.css 323 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 80 B
build/block-library/blocks/post-title/style.css 80 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 389 B
build/block-library/blocks/pullquote/style.css 388 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 201 B
build/block-library/blocks/quote/style.css 201 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/read-more/style-rtl.css 132 B
build/block-library/blocks/read-more/style.css 132 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 397 B
build/block-library/blocks/search/style.css 398 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 233 B
build/block-library/blocks/separator/style.css 233 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 744 B
build/block-library/blocks/site-logo/editor.css 744 B
build/block-library/blocks/site-logo/style-rtl.css 181 B
build/block-library/blocks/site-logo/style.css 181 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 B
build/block-library/blocks/social-links/editor-rtl.css 674 B
build/block-library/blocks/social-links/editor.css 673 B
build/block-library/blocks/social-links/style-rtl.css 1.37 kB
build/block-library/blocks/social-links/style.css 1.36 kB
build/block-library/blocks/spacer/editor-rtl.css 332 B
build/block-library/blocks/spacer/editor.css 332 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 226 B
build/block-library/blocks/tag-cloud/style.css 227 B
build/block-library/blocks/template-part/editor-rtl.css 235 B
build/block-library/blocks/template-part/editor.css 235 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 934 B
build/block-library/common.css 932 B
build/block-library/editor-rtl.css 9.92 kB
build/block-library/editor.css 9.92 kB
build/block-library/index.min.js 168 kB
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/style-rtl.css 11.4 kB
build/block-library/style.css 11.4 kB
build/block-library/theme-rtl.css 665 B
build/block-library/theme.css 670 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/blocks/index.min.js 46.4 kB
build/components/index.min.js 217 kB
build/components/style-rtl.css 15.6 kB
build/components/style.css 15.6 kB
build/compose/index.min.js 11.2 kB
build/core-data/index.min.js 14 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.39 kB
build/customize-widgets/style.css 1.39 kB
build/data-controls/index.min.js 663 B
build/data/index.min.js 8.02 kB
build/date/index.min.js 31.9 kB
build/deprecated/index.min.js 518 B
build/dom-ready/index.min.js 336 B
build/dom/index.min.js 4.53 kB
build/edit-navigation/index.min.js 16.2 kB
build/edit-navigation/style-rtl.css 3.76 kB
build/edit-navigation/style.css 3.76 kB
build/edit-post/classic-rtl.css 546 B
build/edit-post/classic.css 547 B
build/edit-site/index.min.js 41.8 kB
build/edit-site/style-rtl.css 7.23 kB
build/edit-site/style.css 7.22 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.12 kB
build/edit-widgets/style.css 4.13 kB
build/editor/index.min.js 38.5 kB
build/editor/style-rtl.css 3.71 kB
build/editor/style.css 3.71 kB
build/element/index.min.js 4.29 kB
build/escape-html/index.min.js 548 B
build/format-library/index.min.js 6.62 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.66 kB
build/html-entities/index.min.js 454 B
build/i18n/index.min.js 3.79 kB
build/is-shallow-equal/index.min.js 535 B
build/keyboard-shortcuts/index.min.js 1.83 kB
build/keycodes/index.min.js 1.41 kB
build/list-reusable-blocks/index.min.js 1.75 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.94 kB
build/notices/index.min.js 957 B
build/nux/index.min.js 2.12 kB
build/nux/style-rtl.css 751 B
build/nux/style.css 749 B
build/plugins/index.min.js 1.98 kB
build/preferences/index.min.js 1.2 kB
build/primitives/index.min.js 949 B
build/priority-queue/index.min.js 611 B
build/react-i18n/index.min.js 704 B
build/react-refresh-entry/index.min.js 8.44 kB
build/react-refresh-runtime/index.min.js 7.31 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.24 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11.1 kB
build/server-side-render/index.min.js 1.61 kB
build/shortcode/index.min.js 1.52 kB
build/token-list/index.min.js 668 B
build/url/index.min.js 1.94 kB
build/viewport/index.min.js 1.08 kB
build/warning/index.min.js 280 B
build/widgets/index.min.js 7.18 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.07 kB

compressed-size-action

@youknowriad youknowriad requested review from jasmussen, mtias, a team and jameskoster March 2, 2022 12:25
@Mamaduka
Copy link
Member

Mamaduka commented Mar 2, 2022

Has it been decided if this feature will be opt-in or opt-out?

@jameskoster
Copy link
Contributor

The template selection step feels very awkward to me, mostly due to my choice not being reflected on the canvas. It feels like my selection has been ignored.

Choosing the template and pattern sequentially isn't a great experience either – it doesn't feel obvious how they interact. It would be interesting for design to explore how these actions can be combined. Time for 'exploded view' @jasmussen?

@jasmussen
Copy link
Contributor

Thanks for working on this! Here's what I see:
this branch

To echo Jay, the modal appears and lets me select a template, but it looks like nothing has happened as that template isn't visible in a canvas I would otherwise expect to be wysiwyg.

Riad seems to touch on something in the initial issue:

One interesting related question as well is whether these patterns should fill the "post content" of the page, or a new "template" for the current page, or potentially both somehow and how to make that distinction when registering the patterns

The intricacies of this are a bit complex to parse, but it does sound like it is meant to touch the problem at hand. Here's what happens when I click "edit template":

more

Sure enough, there is the template I saw.

As is, I would just echo Jay that in order for this feature to be understood, we need some way to see an effect of the choice. One path seems to be the first half of the equation:

When creating new pages, the user is faced with an empty canvas that can be very hard to work with. We should explore showing a modal as you soon as you add a new page showing the different available block patterns similar to the modal we have when you click "explore" in the block patterns inserter.

Ideally, we'd have ways to mark "patterns" as "full page patterns".

That is, show full page patterns that are actually inserted in the page, rather than page templates. Templates have their place, to be sure, but specifically until we can make progress on actually showing the page template in the post editor, it seems best to focus on patterns.

To echo Jay a third time, for that future exploration of page template visualizations, it does seem like we could have a "full view mode" that you enter as soon as you pick a page template. It would be a bit like the "Edit template" mode in that it shows a zoomed out version of the page, allowing you to build the page using patterns as sections. Kind of like this: #36697 (comment)

You could then exit that building mode when you're ready to edit the contents of your page.

@youknowriad
Copy link
Contributor

This is definitely tied to the template mode, I think for some CPTs (could be a CPT flag), landing on the template mode is often better than landing on the zoomed out mode. (Pages come to my mind).

  • So maybe when that CPT flag is "on" (for pages by default maybe), show this template selection step + post-content selection step and once done ===> you're in template mode initially.
  • When the flag is "off" (for posts by default and most CPTs), do not support the template selection step, only support the post-content selection step (if dedicated patterns are available) and once you choose ===> you're in zoom-in content mode.

@jameskoster
Copy link
Contributor

The features this PR adds feel like they're one layer removed from standard post / template editing. We're talking about indirect manipulation by way of selecting templates and patterns – both at the same time in this case. Whether that is a different view in the template editor, or something more abstract that can be invoked from either the post or template editor warrants further exploration I think. I hope to look in to this a bit next week.

Allowing post types to define which mode is the default seems like a very good idea.

@jameskoster
Copy link
Contributor

I started noodling on some designs in Figma and had a couple extra thoughts on this…

but specifically until we can make progress on actually showing the page template in the post editor, it seems best to focus on patterns.

For me this is another case where #27847 would be very handy.

In such a view I can edit the content of my post/page, but I can also see (and probably swap) the underlying template. The template blocks themselves are locked. @jorgefilipecosta alluded to such a view in the OP:

choose a pattern with a lateral UI to switch the template.

This view ("Template view"?) can be invoked manually from the post editor, while also serving as the default view when the aforementioned CPT flag is on.

As for patterns, I'm wondering if there's some overlap with #38814. IE when the Post Content block is empty, we offer two options: Choose a pattern, or Start blank. Perhaps we can even stylise this like the suggestion for Header template parts:

If the template is "blank" then we can emphasise "full page" patterns, otherwise general patterns would appear.

We could break this into two initiatives;

  1. Add Template view.
  2. Add a placeholder state for the Post Content block.

I'll put some designs together next week, unless anyone interjects between now and then to tell me this is a bad idea 😄

@jorgefilipecosta
Copy link
Member Author

Hi @jasmussen, on your video we are not seeing the pattern picker. I guess you don't have patterns with with block type core/post-content. I updated the PR to include some patterns with this block type just for testing purposes so we can see the flow on this PR without any additional change.

@jasmussen
Copy link
Contributor

Nice, thank you! Working for me:
testing

The two-step modal isn't horrible, with the right design we could probably make it work.

The fact that the specific template choice isn't visualized still feels tricky, and I think we might want to continue with the explorations discussed on this thread and possibly explore a "zoomed out" view. There's a mockup in this thread which touches upon the same. I'll see if we can't get the design explored a bit there, so we can unblock this. If we can't find a simple solution to this we might want to omit the template choice for now.

@kjellr
Copy link
Contributor

kjellr commented Mar 15, 2022

Ideally, we'd have ways to mark "patterns" as "full page patterns".

FWIW, Twenty Twenty-Two includes a "Pages" category of patterns that are made specifically for this purpose. I think we could look for that category in a V1 of this feature. It seems reasonable that we'd eventually migrate that over as an "official" category in the Patterns Directory once this feature exists.

@paaljoachim
Copy link
Contributor

paaljoachim commented Mar 18, 2022

I got to say that this is very cool! Thank you for working on this Jorge!

My initial experience.

Clicking to create a new page I see this show up.
Screenshot 2022-03-18 at 07 33 29

On my Macbook Pro.
The modul feels too small.
The templates are too small as these are hard to see.
The modul and previews should be bigger.

Instead of automatically having a "Choose a template" show up when creating a page it would be better to get a more subtitle option and selecting to "Choose a template" in the sidebar settings. I am wondering how this new template option is associated to the Template: Page panel?


Templates
Some confusion for me as I look at the templates I have available on this local site running Twenty Twenty Two.
I see a site logo, site title, navigation, content and a footer. This shows the full page information.
I might only want page content. I assume the options I have here is the same as seen in the Page Template Panel.

This means choosing between full page with a header, content and footer, or just the content information.

Saving all page content as template/pattern
Let's say that I create a new page. Add content to it and think this would be a good template/pattern (not sure what the difference is). I would like to save all the page content as a new template/pattern. Then later on in the sidebar settings I would like to be able to easily choose the saved template I made earlier.

This means associated with this PR we should have an easy method to select all the content/multi select all the content/blocks. Then click the 3 dot contextual menu choose to save as a pattern/template.


Creating a new page
Creating a new page. Selecting one of the templates.
First option. Choose a template.
Second option choose a pattern.

Ok so template is the more behind the scenes or perhaps I should say more general overview. Something behind the pattern.
Pattern seems to create a more defined layout.
(Still confused with the difference.)
Patterns to choose from I see various Query Loop post preview images.
I added the pattern into a template which is inside the page.

Going back to Template and Patterns modul
Can I go back and change template and pattern? How would I do so? Perhaps we could do something with the Template: Page panel and extend it to reflect what is going on in this PR?

Screenshot 2022-03-18 at 08 02 08

@jorgefilipecosta
Copy link
Member Author

Closed in favor of #40034.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced Needs Design Needs design efforts.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Block Patterns for page creation.
7 participants