Block-based Meeting Notes — July 7

Important: this meeting will now occur once a month, rather than bi-monthly. The calendar and make pages have been updated accordingly, thanks @kafleg @kjellr.

Meeting location #themereview make 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/..

Facilitated by @scruffian

Full transcript starting here: https://wordpress.slack.com/archives/C02RP4Y3K/p1625670047176500

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/ + Theme Updates

11.0.0 was released, here are some relevant highlights:

  • PR that allows left/right/centre alignments inside “use default layout” containers
  • PR that allows 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. templates to be filtered, it could be useful for more advanced theming
  • PR  customize Global Styles…
  • Color palettes in Global Styles discussion: https://github.com/WordPress/gutenberg/issues/29568
  • Trying a few approaches to internationalization within a “pattern block” or as a standalone block.

Open Floor

  • Please join or check out the Hallway Hangout at 5pm UTC today (July 7) focused on exploring the Thrive theme with theme.json test: https://make.wordpress.org/test/2021/06/24/call-for-testing-thrive-with-theme-json/
  • There is a patch to add support for the new block-templates functionality to twenty twenty-one: https://core.trac.wordpress.org/ticket/53564. It could use additional reviews.
  • There was consensus among the group that since TT1 Blocks has been mostly stable, bi-monthly meetings are not as useful. We will shift to monthly meetings instead!

Please comment below if you have anything to add or a question about the above 🙂 Thank you!

#block-based-meeting, #block-based-themes

Block-based Theme Meeting Notes — June 16, 2021

You can find the full meeting transcript on Slack (login required)

Meeting coordinator: @kjellr
Notes kept by @ashiquzzaman

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/ Updates:

  1. 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. no longer fails silently if you miss a comma: https://github.com/WordPress/gutenberg/pull/3240
  2. On FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks. adoption and “universal” themes, this issue has gained some additional traction this week: https://github.com/WordPress/gutenberg/pull/31235. This 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. would allow themes with 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. templates to opt in or out of using the full-site editor. This would allow universal themes to support the customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. while FSE is under development (even with the 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 installed), and then gracefully enable the full-site editor when it’s ready.
  3. A call to attention on how block themes look in 5.8 (without the Gutenberg plugin active). Today, some block themes have implemented fallbacks or messages about requiring the plugin. But it varies per theme. From the discussion, it sounds like themes might get better built-in messaging like that for the 5.8 release. You can follow along with that or weigh in here: https://core.trac.wordpress.org/ticket/53410

Open Floor/ Q&A:

@scruffian highlighted the process on how authors are using Global Styles (especially – colors) as a mechanism for customizing their site. If you have a color that is used extensively in your site and then you want to change it, the only way to do so is to update that color in every place it’s used, which is quite laborious.

@onemaggie voiced the same concern with fonts, if a theme uses two fonts through multiple blocks, the user needs to go block by block if they want to change both

@aristath highlighted an update from GutenbergLand: theme.css files now also have the ability to be “lazy-loaded” when a block gets rendered, and there’s a PR to allow adding multiple stylesheets per-block. https://github.com/WordPress/gutenberg/pull/32510

#block-based-meeting, #block-based-themes

Block-based Meeting Notes — May 19, 2021

You can find the full meeting transcript on Slack (login required)

Meeting coordinator: @jffng
Notes kept by @ashiquzzaman
Time: Wednesday, 19 May 2021, 21:00 GMT+6
Channel: #themereview

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/ + Themes Updates:

The feature freeze for Gutenberg 10.7 is today

  • You can now remove the experimental prefix from your 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. files: https://github.com/WordPress/gutenberg/pull/29981

A fallback was added so it’s not going to break if you still have the experimental-theme.json file name.

  • There is on-going discussion and work about how the theme color palette and coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. color palette interact and are surfaced to users. Very interesting reading and progress: https://github.com/WordPress/gutenberg/pull/31669

In the Full Site Editing project, the template resolution logic was simplified for its inclusion in core: https://github.com/WordPress/gutenberg/pull/31604

TT1 Block Updates

@poena highlighted that the theme needs to be tested and packaged for release to .org . It becomes more difficult to do the call for testing in the FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks. outreach program without the updated theme on .org. She is also working on removing the theme blocker. All the TT1 reupload to the theme directory can be tracked here – https://github.com/WordPress/theme-experiments/issues/264

Discussion: continue the Universal Themes conversation from last week’s hangout:

The global styles UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. will not be in 5.8. As 5.8 is a minimum viable productMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia.
@Grogou how can users configure global styles? @poena replied – Per block, per template, with reusable blocks, and patterns. or, why not let the theme author offer the templates that work well with the theme.

There are some ongoing experiments to see what else can be done (via CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.) but nothing concrete that can’t already be done via PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. template pages.

So a mix (using theme.json to build a ‘base style’ with php template pages to execute logic from configuration options set in a classic way via Customizer) is the straightest line for 5.8 without the 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 where Global Styles UI can be leveraged in the FSE.

@aristath mentioned that a lot of concern regarding feature parity between the customizer and the site-editor.
The fact that something can be edited in the site-editor doesn’t necessarily mean that it should also be editable from the customizer.
It is possible to expose all global-styles options in the customizer and save them the way that global-styles get saved, the customizer has the architecture to support that. But someone has to write that bridge, and tbh it’s just not a priority or necessity for anyone at this stage.

@scruffian shared an example of how to change Global Styles in the Customizer: https://github.com/Automattic/themes/pull/3856

@aristath is working on a package that will allow legacy themes to use theme.json : https://github.com/WPTT/theme-json-parser, Being able to use the theme.json file is one step closer to block themes and should allow theme authors to remove a lot of CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site..

#block-based-meeting, #block-based-themes

Block Themes Meeting Notes — Feb 17, 2021

Channel: #themereview

Facilitated by @kjellr

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/ + Themes Updates

  • 10.0.0 was just released
    • If you’ve defined pageTemplates in your 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., you’ll want to rename those to customTemplates as noted in this PR
    • Gutenberg will now enqueue the comments reply script automatically when the comments 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. is used. 
    • The Query block should now properly interpret the global query when used on single pages
  • Here is a PR that lets folks try a hybrid template hierarchy — using both HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. and PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. templates.

Discussion: Bridging the gap between traditional themes and block themes

A healthy discussion ensued about how to transition between traditional / classic themes and block themes. You can read the full discussion starting here.

  • Hybrid Themes
    • Ari and other folks have been discussing how template hierarchy could involve both block-based and PHP templates. There’s a PR to try out a similar idea
    • @pbking had discussed the idea of pulling blocks into standard templates, and now has a PR here, as well as a Gutenberg issue filed.  
    • “The templating system and using a mix of PHP & HTML files is easy on the frontend… The problem is mostly focused around the “what happens in the editor if A/B/C” questions.”
    • Blocks can be used in traditional templates with echo do_blocks( '<!-- wp:post-title /-->' ); or echo do_blocks( file_get_contents( 'block-templates/page.html' ) ); — this could make it easier for theme developers to convert their PHP templates to block templates while keeping their same templating structure.
  • Global Styles Now
    • It seems like themers should want to use theme.json / global styles without changing any of their templates. How do we give users access to the global styles, without forcing them to be using a completely FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks. ready theme?
    • “Finding the perfect place/UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. for it may be hard, but I think it’s very important to have GS be somehow decoupled from FSE”
    • “If a theme has a theme.json file then yes,I think we should hide the customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. link and instead point them to the global-styles UI (wherever that may be). Having 2 interfaces to edit styles would be confusing.”

Seeking Volunteers!

Are you interested in helping out with the future of themes? We need folks to lead this meeting and help compile weekly updates, reach out to @kjellr if you’re interested!

#block-based-meeting, #meeting-notes

Block-based Meeting Notes – February 3

First, thank you all for your active participation in this meeting. The meeting was held based on this meeting agenda.

Channel: #themereview
Facilitated by @kjellr 
Notes Taken: @ashiquzzaman

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.-based Theme Updates 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/

Gutenberg 9.9 is coming out on Friday! This includes new formatting rules for experimental-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., so if you haven’t updated your block-based themes yet, please take a look at the docs.

Couple of PRs that need highlight:

Please give those a test if you have a moment!

TT1 Blocks Updates

TT1 Blocks’ experimental-theme.json file has been updated to work with the upcoming Gutenberg v9.9 release: https://github.com/WordPress/theme-experiments/pull/182 

At the moment, that’s only available in the version from 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/ repo, not the version in the theme repository. @kjellr will submit the update to the Theme Repository shortly after the 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 update is live to minimize any compatibility hiccups.

Just a couple other updates:

For the status of everything else, check out the TT1 Blocks project board:
https://github.com/WordPress/theme-experiments/projects/1

Discussion Topic: How might classic themes migrate to block-based themes?

Background:

@pbking asked – Are there plans to make dynamic blocks available to PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. templates? Allow for the transition to start using some of them instead of calls to PHP functions without going all-in.

Example: https://github.com/WordPress/gutenberg/issues/22724#issuecomment-771788465

@kjellr replied with – There have been discussions about that sort of thing here and here. In general though, it seemed to me that folks were leaning more towards having a pretty limited set of PHP functions available. And then scaling up from there as needed, versus opening the door to all of the standard PHP functions available.

@aristath’s explorations here might be of interest:

@pbking – There aren’t blocks that are only available in Block-based FSE themes?

@kjellr – There are, but Gutenberg should probably allow for those to be present in special cases when FSE isn’t active.

@poena – “Falling back to PHP templates when no block-based templates are present” seems doable but if the reason for doing it, is that we can not do what we want in an FSE theme, this is the wrong way to solve that. I think that makes sense just in the context of gradually “upgrading” to FSE: https://github.com/WordPress/gutenberg/issues/24803

@poena – We should allow for global styles for old themes without the site editor.

Open Floor

@poena – There are themes being submitted to the https://github.com/WordPress/theme-experiments/ repo but nobody is reviewing them, help is needed.

@pbking and @scruffian offered to help review.

Any comments and discussion can be done via the below comment box.

#block-based-meeting, #meeting-notes