Editor chat summary: Wednesday, 16 March 2022

This post summarizes the weekly editor chat meeting on Wednesday, 16 March 2022, 14:00 UTC held in Slack.

WordPress 5.9.2

@jorgefilipecosta said WordPress 5.9.2 was an important security and maintenance release and asked everyone to update all their sites. There were updates until WordPress 3.7, everyone even if not on the last WordPress major version should be able to update.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 12.8

Gutenberg 12.8 was released around the chat time by @priethor. Details about the release can be backed on the release page.

Key projects updates

Patterns

@jorgefilipecosta shared the following update related to patterns:

The current experience when creating a new page and starting with a blank canvas is not ideal. It would be better if we had something premade ready. On #39147 we are interacting on this experience. Patterns will be able to specify they are full page patterns, and uses will be able to create pages in an easy way. We also merged recently changes to how one inserts and replaces the content of a template part and now are changing the flows for the query blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. #38997.

Styles

@jorgefilipecosta said that we have some improvements to how duotone styles are handled in #38681, and we also fixed the centered image alignment styles at #39422.

Comments loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block

@bernhard-reiter shared the following update:

Quite a bit of progress there, thanks to the team: There’s a fix for the broken pagination that’s now ready to merge. The Generic AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. block PR has also been approved. Finally, there’s a bugfix for two rather annoying bugs with inner block selection and duplicated settings in the inspector controls of the Comments Query Loop block.

Native mobile application

@carlosgprim said the team is focused on the following on Drag and Drop project and addressing content uploading issues.

Task coordination

@jorgefilipecosta

I will start for the next week I want to update #38997 and improve the modal UIUI User interface to contain a grid and carousel view. I also plan on working on the base editor experience be it by helping the effort to get partial multi block text selection, helping the nested blocks on quotes and lists and other related tasks. Let’s see how much we can improve the basics.

@paaljoachim

  • I have made multiple videos. Among these one is about going from a classic theme to an FSE theme.
  • Added notes into the fse-outreach-experiment channel.
  • Added feedback to a few Navigation block exploration issues.
  • Made a few new issues: #39490, #39380, #39307.

@mamaduka

  • I’m continuing my work on Block Locking UI and APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. Here’s my latest proposal on implementing “Locked by System” in the editor.
  • Finished an error handling audit for media blocks. They should correctly display upload errors now 🙂
  • Created PR to make error messages returned via uploadMedia utility more consistent. This is a breaking change, so I’m looking for some feedback.

Open floor

Template part resizing

@paaljoachim said: “With exploring the transition og going from a classic theme and over to Twenty Twenty Two I noticed that I was not able to adjust the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. template height.I also made an issue for it here: #39490“.

@jorgefilipecosta anwsred “To me template part is just a block to reference an area. It should not deal with the content its styles its size etc. I guess to control the height of an area like an header one can put a group block or cover block inside that header”.

The conversation continued and @paaljoachim said a group was already present, both participants in the discussion agreed there maybe be space for improvements and the conversation will continue on the issue. If you have some thoughts on this please share them.

wordpress/frontend-dx Gutenberg subteam

@bernhard-reiter shared the following:

I’d like to create a GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ team (under the WordPress org, as a sub-team of the Gutenberg team) for those of us that are currently working on Fronted Developer Experience (tentatively named “Frontend DX”, which means we’d use the handle @wordpress/frontend-dx). There’s currently a rather well-defined group of folks focusing on this, so it’d be quite handy for us to be able to @mention the entire team.

The participants showed support for this idea and @bernhard-reiter is going to create the subteam.

PR’s and Issues awareness

@mauriac raised the attention of the team to PR #39426 that is ready for review and to issue #39395 that is a regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. that happened on 5.9. @jorgefilipecosta said #39395 probably is something that we should fix in WordPress 5.9.3 release.

#block-editor, #chats, #core-editor, #core-editor-summary, #gutenberg

What’s new in Gutenberg 12.8? (16 March)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


Depending on which hemisphere of the Earth you are at right now, either Spring or Autumn are coming soon. In either case, and regardless of your location, Gutenberg 12.8 is already here for everybody! This release comes with new APIs, iterative UXUX User experience enhancements, and, as always, many bugfixes to increase the editor’s stability.

Table of Contents


New Webfonts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

Since 2007, WordPress has provided a framework to help theme and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party developers load scripts and styles in a standardized, integrated way. Now, for the first time, web fonts have the same types of tooling.

This API is the first step in helping people load fonts in a performance-friendly, privacy-friendly, and future-proof manner – something which has been tremendously difficult to do without such a framework.

That it’s taken so long to reach this point is a testament to how complex web fonts can be and evidence of how much work has gone into ‘getting this right.’ Now that this framework exists, more tools and optimizations can be built on top of it to ensure that WordPress delivers the best possible experience (and privacy) to end-users.

With a few weeks left until the next WordPress Beta release and because of the complexity to achieve this milestone, testing the API is encouraged, and as always, feedback is welcome!

Swift inline insertion of internal links

Gutenberg seeks to provide the best editing experience to all kinds of users, and power users will enjoy seeing inline links can now be inserted with a direct keyboard shortcut. If you thought using the slash inserter was fast, try the new [[ keyboard trigger to add an inline link without going through the inserter.

As with other enhancements aiming to improve the user experience, this new feature is gathering feedback; don’t hesitate to share your thoughts on the keyboard trigger and the overall experience.

Steps towards full visual theme creation

The Gutenberg team keeps making progress towards the goal of full visual theme building within the editor. When using the export tool available in the Site Editor, the theme.json file including the Styles settings is included in the zip, too, together with the index.php and styles.css files as well!

Iterating on placeholder and loading states

In continuation of work done in previous releases, Gutenberg 12.8 keeps iterating on placeholder and loading states. The Navigation block now provides a clear loading state for initial setup and subsequent loading of existing blocks, and thanks to the improved UIUI User interface feedback, creating a new menu is snappier.

The Media & Text blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. also comes with improved loading states. Starting in this version, the media being uploaded is also displayed behind the spinner.

Props to new contributors

Kudos to the first-time contributors that joined during the last release cycle!

  • @ahsanshaheen199: fix: Code example in flyout component. (39156)
  • @alshakerM: Render SVG props that have dashes correctly. (38936)
  • @awps: Missing ,toggleFormat from last code block. (39146)
  • @francisei: Docs: Emphasized requirement to enclose in quotation marks wp-env run…. (39101)
  • @ironprogrammer: Raise z-index of content div relative to sidebars. (38893)
  • @joshuafredrickson: Add a resolvable JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. entry point to base-styles. (39240)
  • @jostnes: Remove rename rn UI tests. (39042)
  • @mashikag: Fix Blocks list ordering in Global Styles. (39093)
  • @tomasztunik: Fix Global styles overriding block’s element styles. (39012)
  • @Tumas2: Spelling error in JustifyContentControl example. (39234)

If you are interested in contributing but do not know where to start, join the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly meetings on Wednesdays at 14:00 UTC in #core-editor focused on all things Gutenberg.

12.8.0 Changelog

Enhancements

Block Library

  • Group: Show group option in Group blocks. (39094)
  • Navigation: Improve loading and placeholder states. (38907)
  • Navigation: Improve create new UI feedback in Nav block. (39219)
  • Media & Text: Display media while uploading. (39275)
  • Tag Cloud: Use flex for the Outline style. (38995)

Components

  • ConfirmDialog: add custom button text. (38994)
  • InputControl: Allow onBlur for empty values to commit the change, move reset behaviour to ESCAPE key. (39109)

Block Editor

  • Add a link completer for inline links to posts. (29172)

Site Editor

  • Add theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. to export file. (39048)
  • Resolve homepage template on server-side. (38817)
  • Theme Export: Add index.php and style.css. (39173)

Icons

  • Update drag handle footprint. (39342)
  • Update Pin icon, add new Post icon. (39139)

General Interface

  • Raise z-index of content div relative to sidebars. (38893)

Media

  • MediaReplaceFlow: Add ‘onError’ prop to handle error notifications. (39197)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Block settings dropdown: Use block display title in remove label. (39110)
  • Try allowing tab into block placeholder. (39085)

New APIs

  • Webfonts API. (37140)
  • Add new @wordpress/preferences package. (38873)
  • Add reusable preferences modal to interface package. (39153)
    • Add interface preferences modal to edit post. (39176)
    • Migrate hidden block types (block manager data) to new preferences packages. (39132)
    • Migrate post editor feature preferences to use new preferences package. (39115)
    • Migrate customize widgets editor to use new preferences package. (39112)
    • Migrate standalone widgets editor to use new preferences package. (39084)
    • Migrate site editor to use new preferences package. (39158)
    • Deprecate interface package’s preference APIs. (39418)
  • Create Block: Add support for more plugin headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. fields. (39096)

Bug Fixes

Block Library

  • Buttons: Added aria label to the button block with icon. (38966)
  • Buttons: Fixes Button highlight popover overflow conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with link popover. (38771)
  • Buttons: Don’t set a placeholder text color. (39034)
  • Code: Restructure code block styling. (38712)
  • Comments Pagination Number_ Fix Comments Pagination Number with no pagination settings. (39204)
  • Cover: Fix keep selected unit on deleting minHeight value. (39145)
  • Cover: Fixes #38761 by removing obsolete ::Before pseudo element. (38762)
  • File: Check if ‘fileId’ exists before setting the attribute. (39088)
  • File: Don’t display loading animation on upload error. (39213)
  • File: Fix file block validation error by not outputting aria-describedby if there’s no description. (39083)
  • File: Fix the undo trap. (39215)
  • Hide border panel when all border features have been disabled. (36791)
  • Hide current menu from dropdown list in Nav block. (38916)
  • Image: Fix image responsive rules. (39045)
  • Image: Display errors after failed upload. (39178)
  • Media & Text: Display errors after failed upload. (39245)
  • Navigation: Fix navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. error when menus are not yet fetched. (39151)
  • Post Comments Form: Show correctwarning relative to post/page context. (38011)
  • Post Expert: Fix missing class in post excerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.. (38747)
  • Post Terms: Unescape HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in term names. (39216)
  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Group: Make save() markup the same as render_callback markup. (38510)

Styles

  • Fix Blocks list ordering in Global Styles. (39093)
  • Fix default duotone preset SVG and style generation. (38681)
  • Fix header panel height. (39119)
  • Fix Global styles overriding block’s element styles. (39012)

Components

  • Update drag gesture of InputControl-based controls with axial constraint. (38968)
  • UnitControl: Fix controlled unit behavior. (39148)
  • Normalize font-family. (38969)

Block Editor

  • Fixes block highlight after block move. (38915)
  • Improve in_footer handling in gutenberg_override_script(). (39497)

Post Editor

  • Avoid error when ‘styles’ settings are removed. (39091)
  • URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: Fix code drift in the Editor package by removing duplicate cleanForSlug function. (39033)

Site Editor

  • Expose plugin area to site editor’s List page. (39078)

Other Packages

  • apiFetch: Handle urlencoded and rest_route query params. (38914)
  • Base Styles: Add a resolvable JavaScript entry point to base-styles. (39240)
  • Compose: Avoid memory leak in use-drop-zone. (39038)
  • Render SVG props that have dashes correctly. (38936)
  • Url: Improvement to prototype handling. (39365)

Developer experience

  • Change copying PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files to dist directory to opt-in via a CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. flag. (39171)
  • Create Block: Add confirm prompt before showing the plugin options. (39105)
  • Create Block: Improve custom project template configuration. (39049)
  • Handle resolution errors in wordpress/data. (38669)

Documentation

  • Add import useBlockProps. (39072)
  • Components: Update changelog follow up for #38985. (39013)
  • Emphasized requirement to enclose in quotation marks wp-env run…. (39101)
  • Element: Add changelog notes for serialize attribute casing. (39141)
  • Gutenberg Data Tutorial Part 3: Building an edit form. (38581)
  • Fix code example in flyout component. (39156)
  • Missing ,toggleFormat from last code block. (39146)
  • Move recent CHANGELOG entry to Unreleased section. (39169)
  • Spelling error in JustifyContentControl example. (39234)
  • Storybook: Support proper extraction of TypeScript prop types. (38842)
  • Storybook: Add webpack loader for easier story descriptions. (39165)

Code Quality

  • Componentes, UnitControl: Tidy up utils and types. (38987)
  • Components, FontSizePicker: Refactor stories to use Controls. (38727)
  • Components, ToggleGroupControlOption: Calculate width from button content and remove LabelPlaceholderView. (39345)
  • Core Data: Rename types directory to entity-types. (39225)
  • Core data: Fix some typing issues. (39212)
  • Core data: Fix some typing issues. (39214)
  • Fix @wordpress/comment-case ESlint errors but without adding the disable-rule pragma. (37006)
  • Delete widget editor redundant css for more menu. (39113)
  • Layout: Remove duplicate var declaration. (39111)
  • Move editor settings code to compat folder. (39030)
  • Refactor useSelect usages to useEntityRecords. (38827)
  • Refactor classic menu conversion process. (38858)
  • Post author name: Add “post” prefix to CSSCSS Cascading Style Sheets. class. (38320)
  • TreeGrid: Update callback unit tests to use TreeGridRow and TreeGridCell sub components. (39002)
  • Update framer motion to 6.2.8. (38999)
  • useBlockEditorSettings: Remove unused unstableBase fetch. (39221)

Tools

Project Management

  • Code owners: Remove users without write access and fix typos. (39238)
  • Simplify Pull Request template. (39229)

Testing

  • Add end-to-end testing for experimental nav menu deletion. (38955)
  • Add Home/End keyboard end-to-end test for List View. (39265)
  • Add some tests for TreeGrid. Update README to reflect latest functionality. (39302)
  • Add test case for post locking feature saving. (39022)
  • Add tests for media replace flow. (39005)
  • Block Test Fixtures: Add additional error message for serialized test fixtures that reserialize identically. (39039)
  • ESLint Plugin: Make Prettier integration optional. (39244)
  • Fix performance tests by adding backwards compatibility to welcome guide utility. (39300)
  • Improve switch to draft button end-to-end test robustness. (38971)
  • Remove rename rn UI tests. (39042)
  • Social Icons: Begin Automating Existing Manual Test Cases. (39027)
  • Update ‘clickMenuItem’ test util to use full label matching. (39274)
  • Update preview test to wait for publish panel to appear before closing it. (39100)

Build Tooling

  • Fix spelling of contributors in changelog script. (39029)
  • Resolve peer dependency warnings. (39043)

npm Packages

  • Fix npm run docs:Build crashing when a block.json lacks supports key. (39241)
  • Packages: Automate npm publishing as part of Gutenberg release workflow. (39259)
  • Packages: Automatically acceppt all Lerna commands when run with CI flag. (39199)
  • Packages: Update CLI publishing tool to run in CI mode. (38993)

Plugin

  • Account for upcoming changes in styles metadata in WordPress 5.9. (36327)
  • Don’t filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. ‘theme_templates’ when running WP 5.9. (39017)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to first blockKeyPress Event
Gutenberg 12.85.01s38.86ms
Gutenberg 12.75.07s40.42ms
WordPress 5.95.22s38.11ms

Site Editor

VersionTime to first blockKeyPress Event
Gutenberg 12.84.99s33.12ms
Gutenberg 12.75.01s37.61ms
WordPress 5.94.74s32.03ms

Kudos to all 54 contributors that participated in the release! 👏

Thanks to @jameskoster for the release post assets, @jonoaldersonwp for crafting the Webfonts API summary,  and to @cbringmann and @hellofromtonya for proofreading.

#gutenberg-new #gutenberg #core-editor

Editor Chat Summary: 9th March 2022

This post summarises the weekly editor chat meeting (agenda here) held on 2022-01-19 14:00 UTC in Slack. Moderated by @get_dave.

Status Updates

Task Coordination

The following items were shared by folks to update us on what work is in progress or where help is needed:

@zieladam:

@mamaduka – I’m working on Block Locking UI and PR is ready for review/testing.

@get_dave – I’ve been working on both refactoring the Nav blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. and improving the its UIUI User interface feedback when importing classic menus and creating empty menus.

@paaljoachim:

@zebulan:

  • Table of Contents block PR needs just one approving review so it can be merged.
  • Some bugs were found since the last time it was brought up in a meeting, but those are now fixed.
  • There does remain one quirk, as described in the latest comment, but I don’t think it’s a blockerblocker A bug which is so severe that it blocks a release..
  • Really wanting to get this one merged in time for GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 12.8.

@scruffian – I’ve been working on Theme Export in Gutenberg.

@alexstine has an important a11y PR up which finds the most appropriate focus target in non-contenteditable blocks. More reviews encouraged.

Open Floor

The full Open Floor discussion is available on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

Using useEntityRecord in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks

New contributor – @mehedi890

Request for Core team input on Standardized Design Tokens and CSSCSS Cascading Style Sheets. proposal

Feedback request: editing Navigation menus in isolation from the Nav block

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

What’s new in Gutenberg 12.7? (2 March)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


Gutenberg 12.7 has been released and is available for download!

Table of Contents


Improving the Patterns experience

Gutenberg 12.7 includes new features that will make working with patterns even easier! 

Make Patterns easier to discover

The block quick inserter now prioritizes patterns instead of blocks when all the following conditions are met:

  • We are editing a template, either on site editor or post editor.
  • The inserter is at the root level.
  • The content being inserted is between other blocks (neither as the first blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. nor as the last one).
Patters inserter demonstration animated screenshot

The template part (e.g. HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. / Footer / SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.) creation flow will now also show patterns, making it easier to create more advanced compositions than adding blocks one by one.

Work will continue improving the logic that decides to show a pattern or a block, so feel free to share your feedback in the Gutenberg repository!

Allow themes to highlight Patterns

Themes can now highlight specific patterns to their users!

Recommending patterns to the users is as easy as adding a pattern field to the theme.json file. When handling patterns from the Pattern Directory, you can find their slugs on the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when browsing them individually.

Adding patterns in theme.json example

List View Improvements

Once more, the List View keeps getting better! Gutenberg 12.7 includes a few iterative improvements to improve the block editor experience.

You will be able to select multiple blocks at the same level, and then drag and drop them to move them around. To select multiple blocks, the keyboard shortcuts are:

  • Shift Key + Click 
  • Shift Key + Up/Down arrow.
List View drag and drop animated screenshot

Also, when you click on a block in the editor, the List View will expand to show the selected block for better visibility of the selection’s context within the block tree.

Block List view expanding animated screenshot

Changes to frontend HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. when using layouts and image blocks

In order to add consistency to the block editor, we are removing some wrappers divs that were generated on the editor in order to add alignment to some blocks.

Keep in note that this div cleaning can affect themes that support layout and many blocks that have this alignment support. Many contributors helped with testing, but theme developers are encouraged to check their themes and leave any feedback they may encounter.

Other notable highlights

Gutenberg 12.7 provides a few other iterative enhancements worth highlighting.

Column options on Column blocks screenshot
Margin options available on Group blocks screenshot
  • To avoid backward compatibility issues reported in WordPress 5.9, the automatic anchor generation for headings introduced in Gutengerg 11.8 is now opt-in. To enable this feature, simply add:
add_filter(
	'block_editor_settings_all',
	static function( $settings ) {
		$settings['__experimentalGenerateAnchors'] = true;
		return $settings;
	}
);

Props to new contributors

Contributors avatars background and contributor text with an applause emoji.

Recognizing and celebrating contributors, both and new, becomes more efficient and effective! A contributor props list has been automated when creating the release and added to the changelog! Any user who merges a PR during a Gutenberg release cycle will be aknowledged.

In Gutenberg 12.7, up to 52 contributors merged PRs of any kind, including 6 new contributors. Props to @Alex-Kostov, @HasnainAshfaq, @mjstoney, @razwan, @sanzeeb3, and @Sisanu for their first PR! 🎉

Changelog

Enhancements

Block Library

  • Columns: Add border support. (31737)
  • Group Blocks: Add margin support (top/bottom). (37344)
  • Comment Template: Improve comment pagination with nested replies. (38187)
  • Comments Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Show placeholder comments on site editor. (38072)
  • Navigation: Try unifying submenu arrow positioning. (37003)
  • Submenu: Add revert button. (38203)

Components

  • FocalPointPicker: Allow updating its value while dragging. (38247)
  • General Interface: Simplify site icon animation on hover. (38783)
  • Navigator: Add NavigatorButton and NavigatorBackButton components. (38634)
  • Type Refactor: Use forwardedRef type for all forwarded refs in wordpress/components. (38948)

Block Editor

  • Block Editor: Add settings to enable/disable auto anchor generation. (38780)
  • Block Transforms: Keep additional HTML classes during a block transform. (38964)
  • LineHeightControl: Enhance interactions by migrating internals to NumberControl on Style options. (37160)
  • List View: Add multi-select behaviour for blocks when shift key is selected. (38314)
  • List View: Expand block list tree on selection. (35817)

Styles

  • Add initial version of the style engine. (37978)
  • Style engine: Refine Box type. (38894)

Post Editor

  • Enable tooltip for the main dashboard button. (38790)

Themes

  • Lowered specificity of alignment rules for support layout so wide alignments work. (38947)
  • Remove data-align divs for themes that support layout. (38613)
  • Remove the div wrapper from the aligned image blocks. (38657)

Patterns

  • Quick Inserter: Prioritize showing patterns instead of blocks. (38709)
  • Allow pattern registration from directory with theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (38323)
  • Template Parts: Show existing template parts and a list of block patterns at creation flow. (38814)

Bug Fixes

Block Library

  • Block Transforms: Fix Image and Video to Cover block transformations. (38959)
  • Cover: Fix gradient overlay (remove black background color) (38765)
  • File: Fix PDF file block full content fixture. (38725)
  • Latest Posts: Add missing class to post title. (38740)
  • Logo: Avoid division by zero in site logo. (38808)
  • Post navigation link: Use correct closing tag. (38976)
  • Query Loop: Display nothing if we want only sticky posts but no stickies exist. (38909)
  • Template Parts: Decode entities in labels. (38805)
  • Social Links: Only apply the social links block migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. if there’s a need for a migration. (38561)

Block Editor

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.: Global styles duotone not rendering in post editor. (38897)
  • Block Editor: insertDefaultBlock should not trigger an error if the default block is not registered. (38886)
  • Inserter: Fix focus loss after closing patterns explorer from modal. (38884)
  • Multi-selection: avoid RichText instances becoming disabled after multi selection. (38821)
  • Rehabilitate drag gesture in LineHeightControl. (38930)
  • RichText: Fix wrong block merging when pressing delete consecutively. (38991)

Site Editor

  • Add site editor initial redirect error handling. (38655)
  • Add template check to ‘setPage’ action. (38656)
  • Adds additional check to guard against incompete presets. (38902)
  • Limit template part slugs to Latin chars. (38695)
  • Template List: Decode entities in record titles. (38863)

Styles

  • Allow child classes to be called instead of the parents. (38857)
  • Backport: Allow for classic themes using default presets. (38701)
  • Fix global styles loading logic. (38745)

Components

  • Fix unexpected dragging triggered on spinner buttons on hover in Safari. (38840)
  • Show tooltip on toggle custom size in FontSizePicker. (38985)

List View

  • Fix error triggering after duplicating a block making it unselectable. (38760)
  • Fix UIUI User interface broken due to error when deleting first item in canvas. (38775)

CSSCSS Cascading Style Sheets. & Styling

  • Fix button width on Widgets Editor. (38846)
  • Load block support styles in the <head> for block themes. (38750)
  • Reduce the margin of the block toolbar. (38746)

Block Directory

  • Fix the block activation when metadata registered on server. (38697)

Colors

  • Strip double # char on HexInput. (38335)

Packages

  • Core Data: CanUser resolver always use the OPTIONS method. (38901)
  • Dom: Avoid RangeError in findPrevious method. (38961)

Apps

  • Fix Custom Palette colors and support multiple origins and theme cache issues. (38417)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Adds aria-label to the search button, as accessibility enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. (38136)
  • Avoid duplicate labels for “Save Draft” and “Save as pending” buttons. (38776)
  • RichText: Reverse disableLineBreaks to determine aria-multiline state. (38652)
  • TreeGrid: Add Home/End keys to jump to start/end of grid. (38679)

Performance

CSS & Styling

  • Use wp_unique_id() instead of uniqid() to generate CSS class names. (38891)

Experiments

New APIs in Core Data

  • Propose useEntityRecords (experimental). (38782)
  • UseEntityRecord (experimental). (38522)

Documentation

Handbook

  • Add documentation for deprecating styles. (38540)
  • Add documentation about the patterns field of theme.json. (38700)
  • Add more info about contextual patterns and pattern transformations. (38809)
  • Add semantic patterns documentation. (38778)
  • Clarify deprecations documentation. (38683)
  • Fix hyperlink in block Metadata page. (38941)
  • Improve point releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. documentation to include even more detail. (38631)
  • Increase support for experimental-link-color until WordPress 5.9 is the minimum version. (38711)
  • Group: Update block supports. (38962)
  • Links changed for Developer.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ on block editor section. (38841)
  • Removing comma so that the code snippet of theme.json represents standard JSON. (38938)
  • theme.json Update version section docs to v2 (38937)
  • Update Getting Started with more granular options. (38682)

Block Library

  • Add instructions on how to add new core blocks to block-library. (38868)

Components

  • FormFileUpload: Add Storybook stories. (38734)
  • Storybook: Move experimental components to correct section. (38640)
  • Storybook: Remove story for Typography Panel. (38867)
  • wp-env: Document some caveats when using xdebug with VSCode. (38882)

Code Quality

Block Library

  • Cover: Remove unnecessary temporaryMinHeight. (38887)
  • Cover block: Update deprecated gradient fixture. (38728)
  • Gallery: Register gallery in block_names dynamic block array. (38689)
  • Navigation: Improve consistency of block hook. (38705)
  • Navigation: Select dropdown encapsulation and further consolidation. (38627)
  • Navigation: Update wp_kses usage to be consistent (use wp_kses_post). (38732)
  • Post Navigation Link: Prefer kses to blanket esc_html on label. (38696)
  • Remove data-controls mock from Image block RN tests. (38852)

Components

  • Block Supports: Improve image block regex. (38742)
  • Block Supports: Load Styles on <head> backport to core. (38880)
  • Context: Omit as prop in types. (38844)
  • Core Data: Remove fallback for OPTIONS response headers in canUser resolver. (38881)
  • Core Data: TypeScript definitions for entity records. (38666)
  • Data: Normalize selector args when handling metadata selectors/actions. (38945)
  • Edit Site: Migrate store to thunks. (38812)
  • Icons: Deprecate duplicate icons. (38849)
  • PostTrash: Call trashPost action with no arguments, rewrite to hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (38615)

npm Packages

  • Packages: Automate cherry-picking to trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. commits created during publishing. (38977)
  • Packages: Ensure that private packages do not update when publishing to npm. (38946)

Tools

Testing

  • Add end-to-end test for merging paragraphs and soft line break afterwards. (39009)
  • Post Visibility end-to-end test: Improve XPath selector to avoid reliance on DOM structure. (38717)
  • Replace no-shadow eslint rule with @typescript-eslint/no-shadow. (38665)
  • Remove client ID from fixtures. (38685)
  • Remove originalContent from fixtures. (38638)
  • RichText: Add test for merging and then splitting paragraphs. (39007)
  • Site Editor Tests: Use REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. to delete templates and template parts. (38524)
  • TreeGrid: Add tests for callback functions. (38942)

Build Tooling

  • Build separate full contributors list. (38777)
  • Bump @svgr/webpack from ^5.5.0 to ^6.2.1 (38866)
  • Generate full release contributors list in release changelog. (38704)
  • Generate sourcemap for production pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party builds. (33718)
  • Mobile: Improve npm clean scripts for reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-native-editor. (38752)
  • PWA: Fix URL query param issue. (38755)
  • Scripts: Do not exit build when no entry found in src directory. (38737)
  • Scripts: Fix Entry points are not detected in Windows OS. (38781)
  • Scripts: Copy PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files from src into build. (38715)

Components

  • BaseControl: Refactor stories to use Controls. (38741)
  • Migrate Post Template Delete button from confirm() to ConfirmDialog. (37535)
  • Migrate the Post ‘Switch to draft’ button to ConfirmDialog component. (37491)
  • Storybook: Ensure rerender for RTL switcher. (38963)

Post Editor

  • Edit Post: Migrate store actions to thunks. (36551)
  • Editor store: Remove a noop SETUP_EDITOR action. (38622)
  • Migrate editor store to thunks. (35929)

Styles

  • Allow to extend the WP_Theme_JSON_Gutenberg class. (38671)
  • Global Styles: Fix PHP warning in WP_REST_Global_Styles_Controller. (38888)
  • Update Global Styles code to continue adding settings & styles. (38883)

Block Library

  • Change Gallery block code ownership. (38722)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

Post Editor

VersionTime to first blockKeypress event
Gutenberg 12.75.0 s41 ms
Gutenberg 12.65.1 s40 ms
WordPress 5.95.2 s40 ms

Site Editor

VersionTime to first blockKeypress event
Gutenberg 12.74.7 s30 ms
Gutenberg 12.65.2 s29 ms
WordPress 5.95.2 s29 ms

Kudos to all the contributors that helped with the release! 👏

Thanks to @javiarce for the visual assets!

Thanks to @matveb @priethor and @santosguillamot for proofreading.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Editor chat summary: Wednesday, 16 February 2022

This post summarizes the latest weekly Editor meeting (agenda, slack transcript), held in the #core-editor SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel, on Wednesday, February 16, 2022, 14:00 UTC.

General Updates

Async key project updates

We used to exchange key project updates synchronously during the chat. However, many of the key GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ projects sustain a regular cadence of updates on their tracking issues on GithubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.

This week we tried async updates. The attendees are encouraged to read the latest updates directly from the following tracking issues at everyone’s leisure:

Task Coordination

@paaljoachim

  • Focused on making inner blocks easier to locate.
  • Highlighting:
    • Interactive link states. (there are multiple issues for it.)
    • Group BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.add support for Background Images.

@get_dave

@ndiego

  • Gathering consensus on add margin support to group block. #37344 PR. After a lot of thoughtful discussion I believe we have agreed this can be merged. Just needs final approval. Thanks again to everyone that participated in this discussion.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Open Floor

@revgeorge

Highlighted PR for preserving content in invalid blocks on behalf of @dmsnell. Share your thought and feedback.

@luehrsen

Highlighted discussion on styling in Gutenberg.

The general gist from a themers / my POV: The editor is taking a lot of liberties from us at the moment and makes things harder than they need to be. (And there are a lot of thing breaking by classes suddenly disappearing.)

@tomaz I really like this idea, one thing that I’ve learned in the past is that this requires some strictness as to language/vocabulary and breadth of what can/should be state, and what are the rules behind extending it, how to extend it at coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. level and how to make it available at local/theme level.

Read complete transcript

#meeting-notes, #core-editor, #editor, #gutenberg, #core-editor-summary

Editor chat summary: February 9th, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on 2022-02-09 14:00 UTC in Slack. Moderated by @andraganescu.

The meeting followed a new format with shorter formal updates and more space for open floor discussion. Everyone is encouraged to share their thoughts on this new format as a comment under the proposal post as that discussion will steer future #core-editor meeting agendas.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases

Gutenberg 12.5.4 is published.

@ntsekouras mentioned these point releases were about fixing small regressions with escaping htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in blocks.

WordPress

  • WordPress 5.9.1 has a tentative release date on February 16th, 2022.
  • We’re looking for release leads for Editor and CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Async key project updates

We used to exchange key project updates synchronously during the chat. However, many of the key Gutenberg projects sustain a regular cadence of updates on their tracking issues on GithubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.

This week we tried async updates. The attendees are encouraged to read the latest updates directly from the following tracking issues at everyone’s leisure:

Task Coordination

@zieladam

@paaljoachim

@aurooba

  • Currently working on transforming the file blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. so it supports innerblocks. It was initially just a plaintext bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. but I think more is needed.
  • Hoping to coordinate with @gziolo to improve contributor docs for Gutenberg.

@bph

  • Had our first Gutenberg Developer Hours,
  • Feb 22, 2022 16:00 UTC will be the next event.

@mciampini

  •  I opened a PR about replacing clipboard-js with calls to the native Clipboard APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

Open Floor

Adding the ability to create a new post from the block editor

  • @aurooba mentioned this should be discussed more thorroughly,
  • it was suggested to move the discussion in the design channel.

Moving ahead with table block improvements

Participate in the “All things media” exploration

Is there an API of sorts to extend the site editor

  • @robruiz asked if the site editor can be extended,
  • @mamaduka and @andraganescu suggested the normal slot/fill system for block editors is also present in the site editor and that most slots should be available for extenders.

Participate in the discussion about the new style engine

  • @andrewserong invited folks to participate in the PR in progress to add in a new style engine package to Gutenberg. 

Should we stip HTML tags in plain text pasting?

  • @kirtangajjar brought up a PR about fixing the removal of HTML tags in plain text on paste,
  • Rich text PRs were acknowledged to move rather slowly because of the foundational role of the component,
  • The PR is in a state where it’s unclear how to move forward.
  • @paaljoachim shared a musing on the usability of the animation of the “W” logo,
  • it was advised to move the conversation to design.

Please help with moving the enabling of the exhaustive deps rule

  • @mciampini brought up the PR opened by @kaihao to enable the react-hooks/exhaustive-deps rule in the Gutenberg project,
  • the PR is stale for about 1.5 years now,
  • help is needed to move it forward, as it is considered a good change and it got some new support via comments.

Some bugs in the editor

  • @sumitsingh shared two bugs,
  • it was suggested that he’d open new issues on the Gutenberg repository

#core-editor-summary, #gutenberg, #meeting-notes, #summary

What’s new in Gutenberg 12.5? (February 2nd)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are published following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here is an overview of different ways to keep up with Gutenberg and the Full Site Editing project.


Gutenberg 12.5 has been released and is available for download!

Table of Contents

Allow switching theme styles variations

Theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. allows for a lot of customization on behalf of theme authors. Now there is even more that can be done by providing styles variations that let users quickly and easily switch between different looks in the same theme.

Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: custom taxonomies filtering and more!

The Query Loop blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. now also shows custom taxonomies in the filters panel. Depending on what post type is selected it will update the available filters to show all the taxonomies for that post type. Moreover, the Query Loop block now also supports filtering by multiple authors.

Previously, there was a limited set of controls available on the Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. Block when rendering a placeholder inside a Query Loop compared to using the block isolated. Starting in this version, all Post Featured Image settings can be used when the block is inside the Query Loop, too!

Preserve styling from adjacent buttons when inserting a new one

Inserting new buttons has just become easier: when a new Button Block is inserted it will automatically retain the styling from the adjacent buttons.

Add the Code Editor to Site Editor

Sometimes you just have to peek behind the curtain. Gutenberg 12.5 brings the Code Editor view to the Site Editor, too!

Props to new contributors

Kudos to the first-time contributors that joined during the last release cycle: @alanjacobmathew, @imangm, @jorgecontreras, and @knilkantha! If you are interested in contributing but do not know where to start, join the Core Editor weekly meetings on Wednesdays at 14:00 UTC in #core-editor focused on all things Gutenberg.

Changelog

These are all the changes included in this release.

Features

  • Allow switching global styles variations. (35619)
  • Query Loop: Add support for custom taxonomies filtering. (38063)
  • Add: Code editor to edit site. (37765)
  • Post Featured Image: Show all the controls when inside a Query Loop. (37945)
  • Buttons: Preserve styling from adjacent button blocks when inserting a new button block. (37905)

Enhancements

Block Library

  • Add transform between coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./site-logo and core/site-title blocks. (37920)
  • Allow using a text label instead of an icon on overlay menu toggle button. (36149)
  • Query Loop: Add multiple authors support. (38024)
  • Comments Query Loop: Add discuss options to the block. (37297)
  • Comments Query Loop: Rename next and previous to newer an older. (38143)
  • Gallery block: Move add/edit media to block toolbar. (38036)
  • Navigation: Fetch classic Menus and Pages using view (readonly) context. (37884)
  • Navigation: Show menus selection in placeholder only if available. (37980)
  • Navigation: Try not using css variable for block gap support. (37543)
  • Paragraph: Try to avoid a trailing word in the description. (37483)
  • Post Featured Image: Add size selector. (38044)
  • Posts Lists: Unset inherited backgrounds on Posts Lists. (37941)
  • Social Icons: Unset inherited backgrounds on social icons. (37940)

Components

  • CustomSelectControl: Add hints example to storybook. (38056)
  • ToolsPanel: Add CSSCSS Cascading Style Sheets. classes to first and last displayed ToolsPanelItems. (37546)
  • Navigator: Add basic location history. (37416)
  • Add: Hover and Selected states to the palette editor. (37962)
  • Update gray color palette to match base styles. (38109)

Post Editor

  • Post Lock Modal: Update avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. size. (38040)
  • Post Lock: Adjust avatar design and update message. (37979)
  • Block styles: Remove box-sizing rule on Post Editor container to achieve editor/frontend parity. (37902)

Block Editor

  • Identify the site frontpage in link UIUI User interface search results. (36493)
  • Rich text: Use file on internal dependencies. (38005)
  • Transform pasted div tags to p tags. (38042)

Site Editor

  • Update template home, front-page, and search template descriptions. (38132)
  • Add: Copy all content to edit site. (37781)

Global Styles

  • Load the global styles before the theme styles in the editor. (37885)
  • Duotone: Allow users to specify custom filters. (38055)
  • Enable alpha on Block Inspector Color ToolsPanel. (37731)

Internationalization

  • i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Create new function addLocaleData to merge domain configuration. (37704)

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • [Global Styles]: Add REST API endpoint to fetch variations. (38124)

Bug Fixes

Block Library

  • Add classic menus to menu switcher. (38168)
  • Always allow accessing edit.php?post_type=wp_navigation page. (38170)
  • Fix Post Date block escaping of date HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (38023)
  • Fix duotone render in non-fse themes. (37954)
  • Social Icons: Fix color picker bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. when set to Logos Only. (38006)
  • Temporarily remove text decoration from Nav block. (37963)
  • Query Loop: Reorganise inspector controls + order selection bug. (37949)
  • Revert “Late escape RSS block (#37878)”. (38117)
  • Fix missing default align-items when items are oriented vertically in flex layout. (38069)
  • Update micromodal to 0.4.10 to fix navigation close button. (38032)

Site Editor

  • Fix empty gray circle when site has no logo on template list page. (37474)
  • Fix hiding the bottom of tablet/mobile preview in Site Editor. (38019)
  • Fix resizable box scrollbars in blocks. (38123)
  • Override Site Editor URLs to use pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party page. (38232)
  • Restore ?styles=open functionality. (38093)
  • Site Editor: Fix Inserter classes. (38112)

Block Editor

  • Fix pattern preview expanding height and scrollbar issues. (38175)
  • Remove warning for enqueued styles in Editor. (37937)
  • Fix draft previews. (37952)
  • Add context to font style and font weight related translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (37939)

Post Editor

  • Editor: Fix post lock data inconsistency. (37914)
  • Fix template queries. (38070)

Block Library

  • Latest Posts: Fix featured image alignment label position. (38125)
  • Remove the aria-label from the site title block. (38432)

Components

  • Increase ConfirmDialog overlay’s z-index to render above popovers. (37959)
  • Label components: Improve consistency by setting to 8px margin-bottom. (37844)
  • RangeControl: Fix space between icons and rail. (36935)
  • SelectControl: Mark the children prop as optional. (37872)
  • ToggleGroupControl: Remove animated backdrop. (38008)

Design Tools

  • Fix: Double border on palette editor. (38035)
  • Fix: PanelColorSettings renders an empty when a color setting is falsy. (38029)

Data APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Load the entities list using the view context. (37685)
  • Fix inconsistent response when preloading OPTIONS type requests. (38051)

Widgets Editor

  • Fix empty secondary sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. overlapping widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. editor content on mobile viewports. (38017)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Make sure when on last block focus cannot enter the block. (37965)
  • Tree Grid: Fix keyboard navigation for expand/collapse table rows in Firefox. (37983)

Performance

Plugin

  • Don’t use WP_Query::Get_posts directly. (38104)

Components

  • ToolsPanel: Memoize callbacks and context to prevent unnecessary rerenders. (38037)

Documentation

  • Add anchors to all terms of the glossary. (38073)
  • Add documentation for useBlockEditContext hook. (36299)
  • Add note about “local styles” in the glossary. (38083)
  • Add some terms related to styles to the glossary. (38076)
  • Add theme.json v1 reference and v1 to v2 migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. documentation. (37886)
  • Block API Reference: Fix ‘isSelected’ property type. (38161)
  • Capitalise the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ wordmark correctly in the WordPress Gutenberg project. (38092)
  • Component: Update color-picker documentation. (38010)
  • Document that __experimentalSelector requires server-side block registration. (37984)
  • Document the Global Styles Presets. (38129)
  • Fix documentation regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (38235)
  • Include partialRight import from lodash in DimensionControl example. (38088)
  • Multiple typos fixed. (38071)
  • Scripts: Corrected “npm start:Hot” in the README file. (38178)
  • Update Block Supports Documentation to better reflect how it works. (37847)
  • Update BlockPreview component readme. (38209)
  • Update versions for 5.8.2 and 5.8.3. (37924)
  • Use consistent punctuation, capitalization in templateParts documentation. (38193)
  • [Type] Documentation Updating Faq.md typo. (38154)

Code Quality

  • Compose: Rework types of createHigherOrderComponent for closer match to API. (37795)
  • Docblockdocblock (phpdoc, xref, inline docs) typos. (38067)
  • Fix two inline typos. (38048)
  • Testing: Upgrade Jest to v27. (33287)
  • Add a missing @since tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.). (38151)
  • Ignore local environment .tool-versions configuration file. (38013)
  • Add allowed-plugins in composer configuration. (38085)
  • Site editor – try redirecting to homepage before the reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. render. (37248)

Block Library

  • Allow for HTML in get_the_title. (38145)
  • Fix double escaping in blocks. (37985)
  • Late escape Latest Posts block. (37866)
  • Late escape Navigation blocks. (37870)
  • Late escape Post blocks. (37876)
  • Late escape Social block. (37881)
  • Late escape comment blocks. (37860)
  • Late escape comments link block. (37875)
  • Late escape latest comments block. (37865)
  • Late escape post author blocks. (37874)
  • Late escape site blocks. (37880)
  • Spacer: No need to use withDispatch HOC. (38206)

Tools

  • Bump dot-prop from 4.2.0 to 4.2.1. (38101)
  • Bump ini from 1.3.5 to 1.3.8. (38106)
  • Bump tar from 4.4.13 to 4.4.19. (37917)
  • Bump tree-kill from 1.2.0 to 1.2.2. (38102)
  • Bump trim-off-newlines from 1.0.1 to 1.0.3. (38095)
  • Update MiniCSSExtractPlugin to version 2.5.1. (38027)
  • Bump follow-redirects from 1.14.1 to 1.14.7. (37957)
  • Bump handlebars from 4.7.6 to 4.7.7. (38054)
  • Bump path-parse from 1.0.5 to 1.0.7. (37990)
  • Bump tmpl from 1.0.4 to 1.0.5. (37916)
  • Add ‘.git-blame-ignore-revs’ to the project. (37822)
  • Require stylelint v14 for stylelint configuration and scripts. (38091)
  • Tested up to WP 5.9. (38162)
  • wp-env: Add install-path command. (35638)
  • Docgen/stop crashing on missing return types. (37929)
  • Add temporary workaround to fix broken common js import of mini-css-extract-plugin. (38004)
  • Fix back button aria name in customizing widgets tests. (38195)

Testing

  • Fix flaky Nav block user permissions end-to-end test. (38025)
  • Fix flaky classic block conversion undo test. (37933)
  • Improve flaky draft creation navigation block end-to-end test. (37931)
  • Skip flaky nav permissions test until fixed. (38099)
  • [docgen] Refactor code to use require() instead of JSON.parse(fs.readFileSync()). (38148)
  • end-to-end Tests: Add coverage for reusable blocks save button state regression. (33151)
  • Add new Testing Instructions section to PR template. (38147)

Performance Benchmark

Post Editor

VersionTime to first blockKeypress event
Gutenberg 12.56.8 s42 ms
Gutenberg 12.46.8 s41 ms
WordPress 5.97.0 s38 ms

Site Editor

VersionTime to first blockKeypress event
Gutenberg 12.57.4 s38 ms
Gutenberg 12.46.7 s38 ms
WordPress 5.96.7 s38 ms

Time to first block: firstBlock

Keypress event: type


Thanks to @critterverse@priethor, and @jeffpaul for helping write and proofread this post!

And kudos to all the contributors who have submitted bugs, written code, designed components, added documentation, reviewed others’ contributions, and everything else that goes into making Gutenberg. 👏

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Editor chat summary: 2 February, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on 2022-02-02 14:00 UTC in Slack. Moderated by @zieladam.

The meeting followed a new format with shorter formal updates and more space for open floor discussion. Everyone is encouraged to share their thoughts on this new format as a comment under the proposal post as that discussion will steer future #core-editor meeting agendas.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases

Gutenberg 12.5.0 RC1 was published earlier this week.

@fabiankaegy is preparing a stable release for later today.

WordPress

  • WordPress 5.9 has been released last week .
  • The next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. is WP 5.9.1 and the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. is WP 6.0 🛠.
  • The preliminary plan for WP 6.0 was published last week by @matias.
  • Last week’s update covers 16 commits and 126 tickets from 30 contributors. Kudos to everyone involved!

Async key project updates

We used to exchange key project updates synchronously during the chat. However, many of the key Gutenberg projects sustain a regular cadence of updates on their tracking issues on GithubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.

This week we tried async updates. The attendees are encouraged to read the latest updates directly from the following tracking issues at everyone’s leisure:

Task Coordination

@get_dave

  • A PR to automatically append a list of New contributors to the Gutenberg release changelog.
  • Continued wrangling Nav blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. related Issues and tasks into the new Tracking Issue.

@zieladam

@paaljoachim

@amustaque97

@ntsekouras

  • Highlighting: There is a PR for allowing pattern registration from the directory with theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. Needs review though.

Open Floor

Ensure proper attribution for contributors to WordPress on GitHub

  • @jeffpaul wanted to highlight and discuss a better way to capture props.
  • @desrosj noted the proposal can be considered “withdrawn” for now and will be revisited later. The discussion and feedback is still encouraged.

Enabling indentation inside of the code block

  • @amusaque97 asked if we should implement an indent feature for the code block.
  • @get_dave noted he’d like such a feature, however using a tab key may be tricky accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)-wise.
  • @get_dave encouraged exploring a solution via a pull request.

Improving the keyboard navigation

A way to detect block themes

  • @andraganescu highlighted a trac ticket about ways to auto magically detect block themes, and proposed a way forward by requiring the theme to explicitly declare itself as a block theme.
  • The feedback was favorable, further discussion will happen inside of the ticketticket Created for both bug reports and feature development on the bug tracker..

Styling hover/focus/active states for blocks

  • @get_dave asked whether there are any designers currently looking into the need to be able to style hover/focus/active states for blocks.
  • @bph noted this is a major pain point from many theme developers.
  • @paaljoachim shared an idea about how there could for instance be a panel where one can add the various states of a button.

Big thanks to @paaljoachim, @get_dave, @bph, @andraganescu for their help with preparing the meeting and this summary!

#core-editor-summary, #gutenberg, #meeting-notes, #summary

Editor chat summary: 26 January, 2022

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, January 26 2021, 03:00 PM GMT+1 in Slack. Moderated by @paaljoachim.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases

What’s new in Gutenberg 12.4 (19 January).
Gutenberg 12.5.0 RC1 released.

WordPress 5.9

WordPress 5.9 was released 25th of January!

Key project updates

Based on the scope for Site Editing projects.

Site Editor and Patterns

Have no official updates at this time.

@get_dave

Tracking Issue status update
We’re very keen to hear feedback on the block and also what folks would like to see added in the future. Drop in to (SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel) #feature-navigation-block-editor to let us know.

Global Styling

@jorgefilipecosta

  • One of the focus is documenting and making sure new contributors can be on-boarded and contribute to its engine.
  • There was also lots of progress on the style variations project.

Mobile Team

@hypest

In Progress

  • Finalizing GSS Font size and line height.
  • Add more integration tests (reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-native-testing-library based).
  • Prepare to pick up other projects.

Components Team

@mciampini

Task Coordination

@jeffpaul

@santosguillamot

@amustaque97

@mamaduka

  • Collaborated with @joen on some last-minute Pattern preview fixes. It’s not perfect, but it’s definitely an improvement. We will improve UXUX User experience here in a minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality..
  • There’s another PR for Pattern previews fixes and is looking for testers.
  • I’m also looking for feedback for Plugin error boundaries in editors.

Open Floor

Announcements, questions and discussions.

@bph

Announcement: Developer Hours.
We have the first event scheduled on WordPress Social Learning space on Feb 8 at 11am / 16:00 UTC with an awesome panel with @fabiankaegy @karmatosed and @Nick Diego .

@KubiQ

Question:
What about unregisterBlockType ? Currently there is documentation but it’s not working for widgets screen and FSE editor. Check out the discussion on Slack.

@markhowellsmead

Question:
I’m trying to make a start on a new theme using 5.9 and without the Gutenberg plugin. Is there anything I need to do to get changes in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. to load? (e.g. reset a cached version?) Check out the discussion on Slack in this tread.

@Liam Gladdy

Question:
Here from the Advanced Custom Fields dev team. We’ve been working to bring compatibility with the site editor and it’s iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. but have hit a stumbling block of trying to load assets in. Things like dashicons and jQuery UIUI User interface elements like date pickers don’t work because they’re only loaded in the global context, and are hard coded to the document or window object. We’ve considering loading them again manually on the late block_editor_settings_all filter, but that feels wrong… Is there a recommended way forward? Check out some of the feedback on Slack.

@jeffpaul

Improving our PR merge > release process to ensure we’re capturing all the people who should be credited from a merge (e.g., helpful bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. reporters, helpful issue commenters, helpful PR testers). Right now that does not appear to happen with regularity. Check out feedback on Slack.

@paaljoachim

I would like to bring up is that we as in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. editor facilitators have been looking at ways in how we can improve the core editor chats. Do please check out the post proposed improvements to the core chat agenda and format.

#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Preliminary Roadmap for 6.0 (Gutenberg Phase 2)

Yesterday, WordPress 5.9 Joséphine was released with the help of hundreds of contributors and achieving a big milestone for WordPress. It’s now time to start thinking about next steps and the general scope for 6.0. As before, this is meant to be a high level overview of the different areas of focus, not an exhaustive list.

The overall aim is to consolidate and expand the set of customization tools introduced in 5.9 for creating themes with blocks, with a special focus towards usability and refinement. This new release could be considered a conceptual wrap for GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/: Phase 2. This doesn’t mean the customization phase would be concluded with it, but that its main features would have been established.

Editor

The introduction of the site editor marked a big milestone but also just a first step in the journey. There are various limitations that need to be lifted and features that didn’t make the cut that need to be revisited. We are also going to be learning a tremendous amount from users now that the initial work is out in the world to be experienced.

  • Refine the information architecture and template browsing experience. There’s work to be done to better organize the experience of interacting with the site editor, global styles, templates, and navigation as a whole. (36667)
  • Improve template creation (aiming at never showing disconcerting empty states) and allow the easy creation of more specific templates (i.e: category-$slug). The selection of new templates is artificially constrained right now in the interface. Opening that up should better express the power of the site editor as a web creation tool. (37407)
  • Expose site structure as “navigation” outside the navigation blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. This is an important aspect to not limit site navigation editing exclusively to the site canvas, which for many reasons can be initially hidden from view. (36667)
  • Introduce browse mode to be able to conveniently follow links to different parts of the site. Conversely, the template editor that spawns when editing posts or pages also needs to establish better flows with the site editor. There’s a larger theme of connecting pages and templates to be explored. (23328)
  • Embrace style alternates driven by jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. variations. This was teased in various videos around the new default theme and should be fully unveiled and presented in 6.0. One of the parallel goals is to create a few distinct variations of TT2 made just with styles. (35619)
  • Improve post settings design and organization. The sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. has gone without many updates for a while and could use improvements in clarity and design.
  • Complete the scope of global styles. Introduce easy export & import; support for revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.; etc. (27941
  • Remove coupling of templates to specific themes. This is crucial for properly embracing the power of block templates. Switching themes should not cause the disappearance of your modified templates. This is also fundamental for offering more granular combinations instead of complete theme swaps, the ability to add new set of templates (relevant for plugins that introduce new templates), or changing individual parts of a site. (See also.)
  • Explore more advanced drafting and scheduling for the site editor. Some of this work is meant to happen more in depth during Phase 3, which will include more focus on editorial flows, but there’s still some paving steps to implement. (29575, 29388, 31456)
  • There should also be some room for some minor back to basics around the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. writing experience and further improvements to performance and usability. Areas to keep an eye on are the reliability of undo/redo, keyboard interactions, multi-selection, etc.

Patterns

It’s also time to expand the usability of patterns as a main ingredient when it comes to building pages and sites, now that most of the infrastructure has been established.

  • Prioritize pattern insertion on template building. This is a proposal to make patterns more central to the experience of creating theme templates and pages. (31153)
  • Simplify registration of patterns for themes. This might take the shape of a patterns folder with file headers that are automatically registered. All in all, it should be super easy for themes to provide a collection of patterns or to specify starter content as patterns. (36751)
  • Introduce page patterns for page creation. This has been on the horizon for a while and we should have enough building blocks to tackle it properly. It’s also an occasion to improve upon and align with the new “explore” modal that connects with the patterns directory.
  • Use patterns as possible transforms for offering “layout” options. Inserting new patterns is just a start, but often you want to change existing content or shapes into new ones. Patterns have some of those mechanisms but they need to be better presented and embraced. (27575)

Blocks

  • Finalize scope of navigation block and its overlay rendering. The navigation block introduced in 5.9 contains a whole world of customization and opportunities that needs to continue to expand and improve. In addition to the block itself, several flows need to be refined around transporting and initializing block menu data.
  • Introduce various new blocks to power the display of comments on themes. (34994, 38107)
  • Allow the featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. to be an attribute of other blocks (like Cover, Media & Text, etc) to expand what designs can be achieved.
  • Allow Quotes and Lists to have child blocks. Some of the current limitations of the writing experience arise from this constraint. (25892)
  • Improve the Table block. There’s a good design direction to finally implement. (32400)
  • Explore the viability of inline tokens. This has come up repeatedly in the context of rendering dynamic strings (such as current date) in rich text blocks.
  • Migrate default block styles into proper style attributes. Continue the work put into global styles by making all systems understand each other.
  • Pick up the work done for a Table of Contents block.

Design Tools (33447)

A lot of progress was made in 5.9 around consolidating the set of design tools and introducing new ones to address major gaps in the experience and providing block authors with simpler ways to register them. For 6.0 there’d be a concerted effort around tightening consistency, introducing more responsive capabilities, and expanding the Supports & Elements APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. Another important goal is to continue to make it easier for third-party blocks to adopt these tools.

  • Layout:
    • Address confusions and shortcomings of layout features (including mindbenders like “inherit layout”). (28356)
    • Explore more convenient direct manipulation for height and width (alignment distribution) of blocks.
    • Incorporate more definitive responsive handling (min/max containers) into the current flex-based tools. (34641)
  • Typography:
    • Introduce responsive fonts with good defaults. (33543)
    • Add a Web Fonts API connected with global styles. (37140)
    • Explore paragraphs with indents and justification with hyphenation as global styles settings.
  • Elements:
    • Introduce support for customizing block Captions.
    • Investigate hover / focus effects and related problems.

Gradual Adoption

Full block themes are at the avant-garde of the WordPress evolution, but work continues to happen to improve how all themes can interact with blocks and make use of the new tools gradually and at their own pace.

  • Continue to adopt theme.json configuration for non-block themes as it aims to simplify and consolidate support for block properties and their capabilities.
  • With the “focused template part” editor established there are new opportunities for non-block themes to start incorporating specific areas for blocks using the site editor interface in a more gradual way, when ready to do so. (37943)
  • Utilize what we have implemented for the navigation block and site structure as the interface to eventually replace the navigation screen.
  • Explore the flows for creating some dynamic templates with blocks (for example, just the archive), similar to the custom page templates support in classic themes.

Please, help define the work to be done by joining the conversations listed in the issues above or giving feedback!

#6-0, #gutenberg, #gutenberg-next