Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open up theme.json processing #22520

Merged
merged 2 commits into from
May 21, 2020
Merged

Conversation

oandregal
Copy link
Member

@oandregal oandregal commented May 21, 2020

This PR removes the previous conditions required for experimental-theme.json to be processed, open it up to the front-end as well as all block editors (post, site, widgets). Previously we checked whether 1) the FSE experiment was enabled and 2) the editor was the site editor.

Testing Instructions

Test that it doesn't load if the theme doesn't provide an experimental-theme.json file:

  • Make sure you don't have any of the Gutenberg experiments enabled.
  • Install & activate one of the default themes.
  • Go to the front-end & make sure there's no embedded stylesheet with id #global-styles-inline-css.
  • Go to the post editor, and it the embedded stylesheets search for --wp--preset. The expected result is that you don't find any CSS Custom Property.

Test that it loads if the theme provides an experimental-theme.json file:

  • Make sure you don't have any of the Gutenberg experiments enabled.
  • Install & activate one of the default themes.
  • Create a file named experimental-theme.json within the theme directory. Let it be empty.
  • Go to the front-end & make sure there's an embedded stylesheet with id #global-styles-inline-css.
  • Go to the post editor, and it the embedded stylesheets search for --wp--preset. The expected result is that the same CSS Custom Properties you can find in the front-end should be present.

@oandregal oandregal self-assigned this May 21, 2020
@oandregal oandregal added the [Status] In Progress Tracking issues with work in progress label May 21, 2020
@github-actions
Copy link

github-actions bot commented May 21, 2020

Size Change: 0 B

Total Size: 1.12 MB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.93 kB 0 B
build/block-directory/style-rtl.css 790 B 0 B
build/block-directory/style.css 791 B 0 B
build/block-editor/index.js 105 kB 0 B
build/block-editor/style-rtl.css 10.9 kB 0 B
build/block-editor/style.css 10.9 kB 0 B
build/block-library/editor-rtl.css 7.17 kB 0 B
build/block-library/editor.css 7.17 kB 0 B
build/block-library/index.js 119 kB 0 B
build/block-library/style-rtl.css 7.48 kB 0 B
build/block-library/style.css 7.48 kB 0 B
build/block-library/theme-rtl.css 684 B 0 B
build/block-library/theme.css 686 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 190 kB 0 B
build/components/style-rtl.css 17.1 kB 0 B
build/components/style.css 17.1 kB 0 B
build/compose/index.js 9.24 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.42 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 771 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.11 kB 0 B
build/edit-navigation/index.js 6.63 kB 0 B
build/edit-navigation/style-rtl.css 857 B 0 B
build/edit-navigation/style.css 856 B 0 B
build/edit-post/index.js 302 kB 0 B
build/edit-post/style-rtl.css 12.2 kB 0 B
build/edit-post/style.css 12.2 kB 0 B
build/edit-site/index.js 12.9 kB 0 B
build/edit-site/style-rtl.css 5.31 kB 0 B
build/edit-site/style.css 5.31 kB 0 B
build/edit-widgets/index.js 7.73 kB 0 B
build/edit-widgets/style-rtl.css 4.59 kB 0 B
build/edit-widgets/style.css 4.59 kB 0 B
build/editor/editor-styles-rtl.css 425 B 0 B
build/editor/editor-styles.css 428 B 0 B
build/editor/index.js 44.6 kB 0 B
build/editor/style-rtl.css 5.06 kB 0 B
build/editor/style.css 5.06 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.64 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.13 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.68 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@oandregal oandregal removed the [Status] In Progress Tracking issues with work in progress label May 21, 2020
@oandregal oandregal marked this pull request as ready for review May 21, 2020 12:11
@oandregal oandregal added the Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json label May 21, 2020
@@ -559,8 +542,6 @@ function gutenberg_experimental_global_styles_register_cpt() {
register_post_type( 'wp_global_styles', $args );
}

if ( gutenberg_is_experiment_enabled( 'gutenberg-full-site-editing' ) ) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just replace the wrapping with gutenberg_experimental_global_styles_has_theme_json_support instead?
Would that be different?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish we could, but the function we use to locate the file (locate_template) requires some of the WordPress constants to be loaded so it knows where to look for the file.

Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't test tbh but what can go wrong :P

@oandregal oandregal merged commit e8b9de4 into master May 21, 2020
@oandregal oandregal deleted the update/global-styles-load-conditions branch May 21, 2020 14:56
@github-actions github-actions bot added this to the Gutenberg 8.2 milestone May 21, 2020
@mtias mtias mentioned this pull request May 29, 2020
82 tasks
@ellatrix ellatrix mentioned this pull request Jun 16, 2020
12 tasks
oandregal added a commit that referenced this pull request Sep 3, 2020
Since #22520 was merged
on May we've been enqueuing the presets as CSS variables
whether or not the theme had support for theme.json
as a way to speed up themes using them and get feedback.

There are enough checks in place that this is inocuous.
oandregal added a commit that referenced this pull request Sep 8, 2020
Since #22520 was merged
on May we've been enqueuing the presets as CSS variables
whether or not the theme had support for theme.json
as a way to speed up themes using them and get feedback.

There are enough checks in place that this is inocuous.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants