A week with us: Working on WordPress & Gutenberg

This week, our WordPress core team at Yoast worked on improving the code quality of WordPress and Gutenberg, as well as performance, theme tools, documentation, and design, among other things. Like we do every week, we would like to give you an update on what everyone one of us has been working on. Read on for more details!

Our weekly team updates

Ari

I started working on a new pull request to improve performance for block themes. It continues to build on the efforts I started last year by splitting block styles and conditionally load them when a block gets rendered (#25220), as well as inlining small block styles (#28358). This time the focus was on splitting the theme.css file and conditionally load parts of it when needed (#31239). In the process of doing that, I found – and fixed – another small bug in our styles inlining method (#31268).

Code Quality

The code we write in WordPress gets shipped to millions of websites, so it’s important we keep the codebase clean, well-documented and maintainable. This week there were a series of pull requests to improve code quality:

  • Cleanup unused function parameters – #31130
  • Added missing textdomains – #31131
  • Fixing linting errors – #31146 & #31187
  • Fixed a typo – #31225
  • Reviewed pull request #31110 to remove IE11 support
  • Reviewed pull request #31060 to improve documentation

Theme tools

  • Last week we identified an issue regarding classic themes opting in separate block-styles loading. The problem was that small styles were not getting inlined, so they were not taking advantage of the performance improvements we’re currently implementing for block themes. I pushed a pull request to fix that (#31072)
  • Block Styles is an under-appreciated tool that doesn’t get used very often, despite its power. I started investigating block-styles some more, found a bug and created an issue on GitHub (#31084), along with an accompanying pull request (#31089).
  • #31123 will be of particular interest to theme developers. It fixes an issue with template priorities in hybrid child themes and is expected to land soon.
  • One of the largest pull requests that I helped review and merged this week was #30804. This adds a wrapper to the query block and will allow using alignments for queries, something that was repeatedly requested and is finally available in Gutenberg.

Blocks

  • I continued working on a pull request to auto-generate anchors for all headings (#30825). Getting the interactions and behaviors right was tricky here. We need to allow users to edit their anchors, and once they edit an anchor it should not be auto-generated anymore. Figuring out a way to efficiently do that took a bit of time.
  • In HTML, quotes can include paragraphs, lists, images, anything. This was not the case with the “quote” block, so we need to change its structure a bit to make that happen. There was already a PR in the works (#25892), but it hadn’t been updated in some time so I picked it up and continued working on it. Hopefully, we’ll soon have a viable method to include more than just paragraphs.

Carolina

Reviewing documentation

I haven’t worked a full week this time. But I have helped out by reviewing updates to the documentation for themes, custom block styles and block patterns in the block editor handbook. The information about block styles is being moved to its own page and the theme section is being re-organized. I’ve also finally started updating the tutorial for how to create block themes. It will need iterations and I don’t expect it to be ready this week or the next.

Gutenberg

I have worked on creating a new letter-spacing control. I’ve never created a new control (or component) before so it was challenging and a lot of fun. I got to work with code in Gutenberg that I have not touched before. I hope that it will soon be reviewed so that I can learn from the feedback (#31118).

While the site title and tagline blocks are waiting for the letter-spacing control, I started working on a link toggle option for the custom logo block. The pull request is not complete yet and needs a few changes (#31162). I still have three pull requests for the post content and post excerpt blocks that are awaiting reviews.

Francesca

My updates are never as exciting as the other team members. And that’s fine. As a team lead, I believe my role is to facilitate and coach my team to success. I spend time contributing to WordPress too and I’m very comfortable being behind the scene so other people can shine :)

Internal work

Our internal handbook is almost done! Since none of us is a native English speaker, I thought it would be useful to have a glossary section with some acronyms and jargon. For example, do you know what rubber-ducking is? Do you know what “FWIW” stands for? I expect the page to grow over time as we encounter more obscure terms as we go!

WordPress Core

WordPress 5.8 is one month away from feature freeze time. It’s time to put the band together. I published a call for volunteers and the post received a good number of applications. The next step is forming the group, making sure that everyone has the information they need, and seeing WordPress coming together again. There is a new public channel to coordinate the release in the WordPress.org Slack channel. You are invited to join so you can see observe how the software gets done.

Testing

I have been battling with my WordPress-develop local environment for a few days now. I have to say it’s very frustrating. Whilst I am not a backend developer, I do have a long experience with HTML and CSS. I am willing and able to contribute with some code and testing, but alas, I need Docker or VVV to do so. I have been thinking about this while nuking everything, reinstalling and trying to debug the issue. And I wonder how many people out there are able to contribute and are put off by the setup?

Justin

I keep regularly triaging issues on Gutenberg and WordPress. For Gutenberg, I mainly did pull request reviews on adding and editing pages on the developer documentation (31060, 31055, 31167).

I also participated in the early bug scrub for WordPress 5.8 during which I tested patches on a number of tickets on Trac. See this post for more details on the tickets.

Documentation team

There was also an interesting discussion this week with the documentation team about our involvement in the WordPress releases and the various documentation tasks that are related to them. Having been a member of release squads several times as a documentation lead, it was important for me to bring my point of view on this. The summary of the meeting hasn’t been published yet, but you can read the backlog on the Slack Make here.

Sergey

For the last week, my main focus was to continue reviewing bug fixes and enhancements for WordPress 5.8, the next major release, as part of my duties as a Core Committer.

I’ve continued chipping away at some long-standing coding standards issues in WordPress core with the ultimate goal for all of core code to comply with its own coding standards, WPCS. I made eight commits to WordPress core and triaged new tickets incoming into Trac (the bug tracking system that WordPress uses).

Tim

With WordPress 5.8 gleaming on the horizon, I’m turning my focus to the design issues that need to be solved. Full Site Editing is planned to ship with 5.8, so there’s plenty of work that can be done to make it the best it can be at launch. The design team is spread thin, so if you’re interested in design, anything you can do to help out would be appreciated. Take a look at what to expect from full site editing, how to contribute to the design team, or if you’re feeling ambitious, read my guide on leading a design release.

Read more: Last week’s update: Six-month anniversary of our team »