Gutenberg + Themes: Week of September 13, 2021

Hello! This is the 65th weekly roundup of theme-related discussions, fixes, and developments 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/.

As always, please weigh in on the tickets below — your feedback is crucial and appreciated.

Active Issues / Discussions & PRs

  • GS: 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.: support a description value for templateParts #34723
  • GS: CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./Button .is-style-outline overwrites theme.json padding settings for default button padding #34853
  • GS: Document how to include to a 3rd party typeface in global styles #34752
  • GS: Add Support for Named Sections of Color Palettes #34741
  • GS: Implicit Text, Hover, Focus Colors as Part of Color Palette #34717
  • GS: Add duotone theme.json styles support #34667
  • 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.: Migrate buttons & navigation to flex layout #34872
  • FSE: 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. supports: margin/padding controls not showing in the Block Editor when enabled at theme.json settings block level. #34766
  • FSE: Visualise box model properties on the canvas when interacting with spacing controls #34703
  • FSE: Add basic support for child themes #34354
  • Themes: Try: add get_settings_from_theme function to get data from the theme’s theme.json #34843
  • Themes: Experiment with allowing Theme JSON to control Navigation block within the Navigation Editor screen #34784
  • Themes: Query pagination does not output paged and paged-number body classes #34898

Merged/Fixed/Announced

  • Cache global stylesheet keyed by theme #34704
  • Clean theme data when switching themes in 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. #34540
  • Fix for link color in containers #34689

General Resources

#gutenberg-themes-roundup

Themes Team Meeting Notes – September 14, 2021

Hello!

This is the meeting notes from the themes review team discussion, September 14, 2021.

Thank you to all the participants and contributors.

The themes team conducts a meeting on the second and fourth Tuesday of the month. 

Thank you @kafleg for preparing the agenda. 


1. Weekly updates

[Theme Tickets and HelpScout Updates]

The themes team published weekly updates about tickets and HelpScout emails. See this week’s updates here in the past 7 days. This stat includes both new and updated tickets.

  • 385 tickets were opened
  • 386 tickets were closed:
  • 375 tickets were made live.
  • 28 new Themes were made live.
  • 374 Theme updates were made live.
  • 0 more were approved but are waiting to be made live.
  • 11 tickets were not-approved.
  • 0 tickets were closed-newer-version-uploaded.

Number of reviewers: 4

[Theme Check 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]

We are continually updating the Theme Check plugin and Theme Review Action for a smoother theme submission process. Here is the current state of the Theme Check plugin and Theme Review Action

2. Open floor 

We discussed how some themes have predefined contents on the preview in the theme directory. Themes are allowed to set up the predefined contents using the starter contents. The starter contents help users visualize how the theme supposes to look. 

[Theme upload survey results]

Theme upload survey results and some interesting findings are posted here. Thank you @dd32 for summarizing the results and 256 theme authors who participated in the survey. 

#meeting-notes, #themes-team

Theme upload survey results & next steps

As most of you should know by now, for the last six weeks we’ve had a survey running on the themes upload page to get feedback on how theme authors would like to upload updates to their themes in the future.

The primary purpose of the survey was to determine what the preferred method of uploading themes would be, as the ZIP upload is often touted as a pain point in the entire process.

Thank you to the 256 people who submitted feedback. I’m going to summarise the results here for transparency and the next steps the MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team are going to take.

As can be seen below, the preferred method is to continue with ZIP Uploads, followed by GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/./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/ integration, Direct SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. access, and finally “anything other than ZIP, SVN, and GIT”.

Reading the free-form feedback, there’s a two main things that caught my attention:

  1. Not everyone uses GitHub (or even a VCS), and didn’t want to see that be the only option.
  2. Some who preferred GitHub, suggested that SVN was the second best option.

It’s clear that for some authors ZIP uploads are preferable, There are no plans to remove this. But it’s also clear that many others wish to use a version-control system of some form to automate releasing updates – to remove the need to create a ZIP and upload it manually.

Next Steps

Here’s the suggested immediate plans forward:

  1. Enable theme updates to be submitted via SVN. #5899-meta
  2. Remove TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets for theme updates.
  3. Create/Encourage the creation of a GitHub action, to automate releasing from GitHub to 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/.

I’ll create Trac tickets to track these once everyone has had a chance to review this post, and given me a chance to clarify any points.

Enabling access to SVN

Enabling access is straight forward, but processing updates from SVN is not as easy. We’ve determined that the simplest way to make this happen is to require some very specific rules be followed:

  1. Updates must be stored in a `/THEME/VERSION/` structure similar to the existing use.
  2. Once an update is committed, it cannot be changed or altered in any way – even just to fix a typo.
  3. Versions must be in a standardised format, and must be higher than an existing version.

Themes.svn would be used as a “deployment destination” rather than as the primary location of development for a theme. One commit per version. No Trunk folder. etc.

Remove Trac tickets for updates

By disabling the trac ticket creation for updates to existing live themes, we can reduce the noise in Trac and focus it on being Theme Reviews, while at the same time simplifying the process for importing from SVN.

Git/GitHub integration

The WordPress.org 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 directory doesn’t have any Git/GitHub integration, but there is a 3rd-party supported action which allows for Plugin authors to have GitHub tags/releases be pushed to the WordPress.org plugins SVN repository automatically. Git-svn is also used by some here to keep everything within their own Git repository.

By enabling SVN access for themes, we’re opening the possibility of a similar action to be created, and leaving the door open for a future iteration where GitHub is built directly into the Plugin & Theme directories.

Thoughts? Concerns?

#5899-meta

Gutenberg + Themes: Week of September 6, 2021

Hello! This is the 64th weekly roundup of theme-related discussions, fixes, and developments 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/.

As always, please weigh in on the tickets below — your feedback is crucial and appreciated. And please comment with any issues I missed. 🙂

Active Issues / Discussions & PRs

  • Themes: Broken editor style in some themes (Twenty Twenty and Twenty Nineteen) #34479
  • Themes: Please don’t hardcode essential theme specific things. #34613  
  • Themes: Add duotone 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. styles support #34667
  • GS: Theme.json: Remove custom prefixes from properties that did not land in 5.8 #34485
  • GS: Fix for link color in containers #34689
  • GS: Clean theme data when switching themes in 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. #34540 
  • GS: Navigation: Support gap via theme.json #34525 
  • GS: Social Icons: Support gap via theme.json #34526
  • GS:  Buttons: Support gap via theme.json #34527
  • Design Tools: Show “none” as an alignment option and use contextual text to clarify settings. #34597
  • Design Tools: Responsive blocks & intrinsic web design #34641 
  • Design Tools:  Border Controls: Add placeholders and base styles #34465
  • 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. themes: Have theme.json handle minimum widths of blocks #34573 
  • FSE: Add basic support for child themes #34354

Merged/Fixed/Announced

  • Themes: Allow disabling text and background color via theme.json #34420
  • Themes: Add default editor styles applied to themes without theme.json and without editor styles #34439
  • Themes: Allow themes with theme.json to opt-out of 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. gap styles #34491
  • FSE: Limit FSE admin notices to the Themes screen #34353
  • GS: Remove colors classes from the packages that are already provided by global styles #34510
  • GS: Font Appearance Control: Fix error in global styles for Site Title in TT1-Blocks #34520
  • GS: Cache global stylesheet keyed by theme #34704

General Resources

Thank you @danieldudzic for compiling this week’s summary! 

#gutenberg-themes-roundup

Gutenberg + Themes: Week of August 30, 2021

Hello! This is the 63rd weekly roundup of theme-related discussions, fixes, and developments 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/.

As always, please weigh in on the tickets below — your feedback is crucial and appreciated. 

Active Issues / Discussions & PRs

  • Themes: 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. v2 #34349
  • Themes: 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. Gap: Add configuration for horizontal and vertical block gaps #34347
  • Themes: Disable the wide width control if the theme does not provide a layout.wideWidth value #34507
  • Themes: Allow disabling text and background color via theme.json #34414
  • Themes: Track changes in the size of the global stylesheet #34329
  • Themes: Allow filtering the alignment options of blocks via theme.json #34317
  • Themes: Allow themes with theme.json to opt-out of block gap styles #34491
  • Themes: Add default editor styles applied to themes without theme.json and without editor styles #34439
  • Themes: Add basic support for child themes #34354
  • Themes: 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./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. block #33952
  • Themes: Make it possible to define duotone settings in theme.json #34073
  • 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.: Site editor template mosaic view #33770
  • GS: Remove custom prefixes from properties that did not land in 5.8 #34485
  • GS: merge block CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. with theme.json styles #34180
  • GS: 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. to allow blocks to access global styles. #34178
  • Blocks: Post Navigation Link: Add typography settings #34381
  • Typography Tools: Tracking #34345

Merged/Fixed/Announced

  • Themes: Make global styles available to all themes #34334

General Resources:

#gutenberg-themes-roundup