Repository navigation
Bundled Themes: Update Ipsum for 7.2 Beta 5 - #15845
MaggieCabrera wants to merge 18 commits into
Conversation
The Button block's focus outline gets a negative offset, so it sits inside the button like the Search block's button does. Synced from WordPress/ipsum#187. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Browsers don't turn off view transitions for people who prefer reduced motion, so they still got the crossfade between pages. The cross-document view transition now only runs with `prefers-reduced-motion: no-preference`, like the theme's other animations. Synced from WordPress/ipsum#198. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pinned to Bottom, Row Hover and Dot Separator, which the patterns used as utility classes, are now block styles, so they show up in the Styles panel and the REST API. The pinned Search Bar's outlined button becomes the Outline style on Search. Nothing changes visually. Synced from WordPress/ipsum#180. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Test using WordPress PlaygroundThe changes in this pull request can previewed and tested using a WordPress Playground instance. WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser. Some things to be aware of
For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation. |
74bccd7 to
7acbe8d
Compare
Core's PHPStan analysis has covered Ipsum since the import, and at level 10 it reported errors in the patterns and the design guide ability. Pattern images no longer get a `?ver=` query string, like the pattern images in Twenty Twenty-Four and Twenty Twenty-Five, and their URLs now come from `get_parent_theme_file_uri()`. Synced from WordPress/ipsum#171. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
When `SCRIPT_DEBUG` is off, Ipsum now enqueues `style.min.css`, which is about a third of the size of `style.css`. It falls back to `style.css` when the minified file is missing or older, so edits made in the Theme File Editor keep working. The minified file isn't committed: core's build makes it, as it does for Twenty Twenty-Two and Twenty Twenty-Five. Synced from WordPress/ipsum#61. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The patterns set the border radius corner by corner, even when all four corners are the same. They now use a single value, which is what the editor writes when the corners are linked and how Twenty Twenty-Five writes it. The corners look the same. Synced from WordPress/ipsum#206. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ipsum is added to the `cssmin:themes` Grunt task, so `build:css` makes its `style.min.css` like it does for Twenty Twenty-Two and Twenty Twenty-Five, and the built file is ignored. Ipsum enqueues it when `SCRIPT_DEBUG` is off, and falls back to `style.css` until it's built. Follow-up to [60934]. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
one change in this round is outside the theme folder. WordPress/ipsum#61 adds a minified stylesheet. Core doesn't commit built CSS, so
Ipsum's |
This gives Ipsum the same stylesheet build as Twenty Twenty-Two and Twenty Twenty-Five, so the theme can build its own `style.min.css` outside of core's build. * The build process is added to the theme (via `package.json`, `package-lock.json` and `.nvmrc`) with `build` and `watch` commands, using the same development dependencies as Twenty Twenty-Five. * A new `contributing.txt` file documents the build process, and points to the GitHub repository where Ipsum is developed. * The `test-and-zip-default-themes` GitHub workflow now tests Ipsum's build script and builds the minified stylesheet before packaging the theme. * The theme's `node_modules` directory is ignored, and left out of core's build. Follow-up to [60934]. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r patterns. Every pattern now has a description and its blocks are named by what they do, so agents reading patterns through the REST API can tell them apart. New posts offer Format Link and Format Audio as starter patterns, and the sidebar part renders as an `<aside>` through the template part, like in Twenty Twenty-Four. Nothing changes visually. Synced from WordPress/ipsum#181. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. Props Bot commandsYou can trigger Props Bot actions by commenting on this PR:
|
Calendar, Comments Form, Search and Jetpack Contact Form styles that `theme.json` can express move out of their `css` strings, so they can be edited in Global Styles. Three rules that did nothing are removed. Nothing looks different, except that a Calendar text color or Latest Posts block spacing set in Global Styles now applies. Synced from WordPress/ipsum#185. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rns. The patterns lose markup left over from building them in the editor, such as `patternName` metadata, query categories and the `area` attribute on template part blocks, which WordPress takes from the part itself. The rendered HTML is the same. Synced from WordPress/ipsum#204. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`DESIGN.md` describes how to design with Ipsum, for anyone designing with the theme or their agent: what each preset is for and how the theme uses it, and what the style variations, templates, parts and block styles give you. Synced from WordPress/ipsum#186. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The theme stylesheet gets `path` data, so WordPress can print it inline instead of loading it as a render-blocking request, like the Twenty Twenty-Two and Twenty Twenty-Five stylesheets. Synced from WordPress/ipsum#63. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Props for this round, from the Props Bot lists on the Ipsum PRs it brings over: Props yashjawale, juanfra, ravipatel, onemaggie, wildworks, shailu25, courane01, mikachan, westonruter, josephscott, poena, mehtadev, gziolo. |
…ry has read them. The `ipsum/get-design-guide` ability found the theme's patterns by their `filePath`, which the block patterns registry removes once a pattern's content is loaded, so the ability could return an incomplete or empty list. It now looks up the slugs of the theme's patterns, and its parent's, and reads only those patterns. The regression tests live in core, since Ipsum's repository has no PHPUnit setup. A new child theme fixture covers a child theme's patterns and its parent's. Synced from WordPress/ipsum#192. See #66631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Also, in b2da500 we are adding the tests mentioned that need to be added to core for the commit to cover WordPress/ipsum#192. If we decide to move the abilities functionality to core we can patch Ipsum in the future to remove the changes in the theme. |
peterwilsoncc
left a comment
There was a problem hiding this comment.
I've added some notes inline but I don't think anything blocks merge for this week's beta release.
I took the liberty of pushing a minor fix to the tests to add a missing $message parameter.
To avoid things getting out of sync, everything else can be fixed in the upstream repo.
| * @since Ipsum 1.0 | ||
| * | ||
| * @param array $presets The presets from the global settings, keyed by origin. | ||
| * @param mixed $presets The presets from the global settings, keyed by origin. |
There was a problem hiding this comment.
Description could do with an update to note non-array values are returned unchanged.
| * Slug: ipsum/hidden-404 | ||
| * Template Types: 404 | ||
| * Inserter: no | ||
| * Description: The 404 template. It has the header, a “Page not found.” heading and a short note over the search field, and the footer. |
There was a problem hiding this comment.
Non blocker for beta merge.
The description could read a little clearer, it's possibly as simple as adding the word theme
| * Description: The 404 template. It has the header, a “Page not found.” heading and a short note over the search field, and the footer. | |
| * Description: The 404 template. It has the theme header, a “Page not found.” heading and a short note over the search field, and the theme footer. |
| if ( | ||
| SCRIPT_DEBUG | ||
| || ! file_exists( $style_min_path ) | ||
| || ( filemtime( $style_path ) > filemtime( $style_min_path ) ) |
There was a problem hiding this comment.
As this is in the build step for WP-Dev, I think we can replace this with a simple SCRIPT_DEBUG.
The process for uploading themes to the theme repo is to use the zips generated by the build steps in wp-dev so it shouldn't be a problem as it too contains the compressed file, see this action run.
|
|
||
| $this->assertContains( 'block-theme-with-hooked-blocks-child/child-pattern', $expected, 'The child theme should have a pattern of its own.' ); | ||
| $this->assertContains( 'block-theme-with-hooked-blocks/footer-default', $expected, 'The parent theme should have a pattern.' ); | ||
| $this->assertSame( $expected, $this->get_design_guide_pattern_slugs() ); |
There was a problem hiding this comment.
This will need a $message parameter to aid debugging later.
| @@ -0,0 +1,21 @@ | |||
| === Contributing to Ipsum === | |||
|
|
|||
| Ipsum is developed at https://github.com/WordPress/ipsum. Changes made there are synced to WordPress core, so please open issues and pull requests in that repository. | |||
There was a problem hiding this comment.
A little unclear which of the two repos "that repository" refers too. I think everything changes post release (unless there are plans otherwise for this theme) so not a big deal.
This collects the Ipsum PRs merged since the last sync. It'll be committed late on Monday, November 9, or early on Tuesday, November 10, so it includes everything merged until then.
This merges the latest improvements to Ipsum from https://github.com/WordPress/ipsum into
trunkfor 7.2 Beta 5. Each commit brings over one merged Ipsum PR and links it, so they can be committed together or one at a time.Only theme files come over. Repository tooling and development docs stay on GitHub, like in the import.
This round also has two core commits. They give Ipsum the same stylesheet minification as Twenty Twenty-Five, for the
style.min.cssthat WordPress/ipsum#61 enqueues. Core'scssmin:themesGrunt task builds it, and the theme gets a core-onlypackage.json,package-lock.json,.nvmrcandcontributing.txt, so the default themes workflow can build it too. The minified file isn't committed.The commit for WordPress/ipsum#192 also adds its regression tests in
tests/phpunit/tests/theme/ipsumDesignGuide.php, with a child theme fixture. They live in core because Ipsum's repository has no PHPUnit setup.Ipsum PRs included so far:
A full list of changes can be found on GitHub: WordPress/ipsum@17a7ada...bc2e5af
Trac ticket: https://core.trac.wordpress.org/ticket/66631
Testing Instructions
src/wp-content/themes/ipsummatches the theme files on Ipsum'strunk.Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5.5
Used for: Watching the Ipsum repository for merges and bringing each one over as a commit. Every change was reviewed in its Ipsum PR.
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.
🤖 Generated with Claude Code