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

Add [data-block] to appender. #35356

Merged
merged 6 commits into from
Oct 15, 2021
Merged

Add [data-block] to appender. #35356

merged 6 commits into from
Oct 15, 2021

Conversation

jasmussen
Copy link
Contributor

Description

Followup to #33895 (comment). This removes a wp-block class, but also adds a data-block property to the appender.

Due to limitations that have existed in the editor for some time, many themes have come to target [data-block] for attaching styles to "blocks", notably because the wp-block CSS class is not present on blocks like the Paragraph and others.

The need to target [data-block] has not been there for some time, since the classic styles and resets have lowered specificity to the point that you could, and should, target elements like p and h2 etc, just like you would on the frontend. Indeed that is a goal, to not need to write editor-specific styles at all.

One way in which this targetting of [data-block] manifests itself in, is in a jump when you click the first default block appender, like so:

before

By virtue of removing one class (so there aren't double margins competing), and indeed adding the the data-block property to the other, the shift is fixed:

after

I have not observed any negative side effects to this, but it fixes a very annoying problem with all the existing themes that have targetted data-block. I would love to see it land.

How has this been tested?

Please test in a classic theme and observe that when clicking the first paragraph, there's no jump or shift.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@jasmussen jasmussen added the [Feature] Themes Questions or issues with incorporating or styling blocks in a theme. label Oct 5, 2021
@jasmussen jasmussen requested a review from youknowriad October 5, 2021 13:54
@jasmussen jasmussen requested a review from ellatrix as a code owner October 5, 2021 13:54
@jasmussen jasmussen self-assigned this Oct 5, 2021
@github-actions
Copy link

github-actions bot commented Oct 5, 2021

Size Change: -30 B (0%)

Total Size: 1.07 MB

Filename Size Change
build/block-editor/index.min.js 134 kB +8 B (0%)
build/block-library/blocks/button/editor-rtl.css 470 B -4 B (-1%)
build/block-library/blocks/button/editor.css 470 B -4 B (-1%)
build/block-library/blocks/button/style-rtl.css 549 B -51 B (-8%)
build/block-library/blocks/button/style.css 549 B -51 B (-8%)
build/block-library/blocks/buttons/editor-rtl.css 309 B -6 B (-2%)
build/block-library/blocks/buttons/editor.css 309 B -6 B (-2%)
build/block-library/blocks/buttons/style-rtl.css 317 B -53 B (-14%) 👏
build/block-library/blocks/buttons/style.css 317 B -53 B (-14%) 👏
build/block-library/blocks/navigation/editor-rtl.css 1.71 kB -5 B (0%)
build/block-library/blocks/navigation/editor.css 1.71 kB -7 B (0%)
build/block-library/blocks/navigation/style-rtl.css 1.64 kB +28 B (+2%)
build/block-library/blocks/navigation/style.css 1.64 kB +26 B (+2%)
build/block-library/blocks/post-author/editor-rtl.css 0 B -210 B (removed) 🏆
build/block-library/blocks/post-author/editor.css 0 B -210 B (removed) 🏆
build/block-library/blocks/post-author/style-rtl.css 175 B -7 B (-4%)
build/block-library/blocks/post-author/style.css 176 B -5 B (-3%)
build/block-library/blocks/query-title/editor-rtl.css 0 B -85 B (removed) 🏆
build/block-library/blocks/query-title/editor.css 0 B -85 B (removed) 🏆
build/block-library/blocks/social-link/editor-rtl.css 177 B +12 B (+7%) 🔍
build/block-library/blocks/social-link/editor.css 177 B +12 B (+7%) 🔍
build/block-library/blocks/social-links/editor-rtl.css 824 B +12 B (+1%)
build/block-library/blocks/social-links/editor.css 823 B +12 B (+1%)
build/block-library/blocks/social-links/style-rtl.css 1.32 kB +14 B (+1%)
build/block-library/blocks/social-links/style.css 1.32 kB +14 B (+1%)
build/block-library/blocks/template-part/editor-rtl.css 560 B -76 B (-12%) 👏
build/block-library/blocks/template-part/editor.css 559 B -76 B (-12%) 👏
build/block-library/blocks/term-description/editor-rtl.css 0 B -90 B (removed) 🏆
build/block-library/blocks/term-description/editor.css 0 B -90 B (removed) 🏆
build/block-library/common-rtl.css 815 B -38 B (-4%)
build/block-library/common.css 812 B -37 B (-4%)
build/block-library/editor-rtl.css 9.65 kB -180 B (-2%)
build/block-library/editor.css 9.65 kB -182 B (-2%)
build/block-library/index.min.js 148 kB +447 B (0%)
build/block-library/style-rtl.css 10.3 kB -87 B (-1%)
build/block-library/style.css 10.3 kB -87 B (-1%)
build/blocks/index.min.js 46 kB +245 B (+1%)
build/components/index.min.js 217 kB +434 B (0%)
build/components/style-rtl.css 15.3 kB +79 B (+1%)
build/components/style.css 15.3 kB +79 B (+1%)
build/compose/index.min.js 10.4 kB -3 B (0%)
build/customize-widgets/index.min.js 11.2 kB +19 B (0%)
build/edit-navigation/index.min.js 15.4 kB +17 B (0%)
build/edit-navigation/style-rtl.css 3.76 kB +21 B (+1%)
build/edit-navigation/style.css 3.76 kB +21 B (+1%)
build/edit-post/index.min.js 29.3 kB +11 B (0%)
build/edit-post/style-rtl.css 7.22 kB +24 B (0%)
build/edit-post/style.css 7.22 kB +25 B (0%)
build/edit-site/index.min.js 29.8 kB +74 B (0%)
build/edit-site/style-rtl.css 5.54 kB +7 B (0%)
build/edit-site/style.css 5.54 kB +6 B (0%)
build/edit-widgets/index.min.js 15.8 kB +18 B (0%)
build/edit-widgets/style-rtl.css 4.12 kB +24 B (+1%)
build/edit-widgets/style.css 4.13 kB +25 B (+1%)
build/editor/index.min.js 37.5 kB +2 B (0%)
build/element/index.min.js 3.21 kB +42 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 931 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.7 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.08 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.2 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/style-rtl.css 13.9 kB
build/block-editor/style.css 13.9 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 206 B
build/block-library/blocks/columns/editor.css 205 B
build/block-library/blocks/columns/style-rtl.css 497 B
build/block-library/blocks/columns/style.css 496 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.17 kB
build/block-library/blocks/cover/style.css 1.17 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 977 B
build/block-library/blocks/gallery/editor.css 982 B
build/block-library/blocks/gallery/style-rtl.css 1.6 kB
build/block-library/blocks/gallery/style.css 1.59 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 502 B
build/block-library/blocks/image/style.css 505 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 568 B
build/block-library/blocks/navigation-link/editor.css 570 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 300 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/style-rtl.css 195 B
build/block-library/blocks/navigation-submenu/style.css 195 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/view.min.js 2.74 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 198 B
build/block-library/blocks/page-list/style.css 198 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 396 B
build/block-library/blocks/post-featured-image/editor.css 397 B
build/block-library/blocks/post-featured-image/style-rtl.css 156 B
build/block-library/blocks/post-featured-image/style.css 156 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 391 B
build/block-library/blocks/post-template/style.css 392 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 378 B
build/block-library/blocks/pullquote/style.css 378 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 262 B
build/block-library/blocks/query-pagination/editor.css 255 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 374 B
build/block-library/blocks/search/style.css 375 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 769 B
build/block-library/blocks/site-logo/editor.css 769 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/theme-rtl.css 665 B
build/block-library/theme.css 669 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/core-data/index.min.js 12.4 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 614 B
build/data/index.min.js 7.1 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 428 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.46 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/editor/style-rtl.css 3.78 kB
build/editor/style.css 3.77 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 5.93 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.6 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.72 kB
build/keycodes/index.min.js 1.3 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.92 kB
build/notices/index.min.js 845 B
build/nux/index.min.js 2.03 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.83 kB
build/primitives/index.min.js 921 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.63 kB
build/reusable-blocks/index.min.js 2.19 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.6 kB
build/server-side-render/index.min.js 1.52 kB
build/shortcode/index.min.js 1.48 kB
build/token-list/index.min.js 562 B
build/url/index.min.js 1.74 kB
build/viewport/index.min.js 1.02 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.11 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@talldan
Copy link
Contributor

talldan commented Oct 6, 2021

I think some features use the data-block attribute to determine what's a block. The in-between inserter is one I see when searching the codebase, and it looks like a related e2e test might have failed.

@jasmussen
Copy link
Contributor Author

Thanks, the test failures do appear to repeat. Before diving in to fix them, I'd love some input from the folks pinged to see if/how to proceed with the PR.

@scruffian
Copy link
Contributor

This seems like a good idea. I'm not sure of the impact on older themes...

@jasmussen
Copy link
Contributor Author

jasmussen commented Oct 6, 2021

It is primarily built towards older themes that may have targetted the [data-block] attribute in editor styles.

@scruffian
Copy link
Contributor

Many old themes shipped different CSS to the editor and the frontend, so my concern is that the editor styles would break. That doesn't mean we shouldn't do it, just that we might need to update a lot of themes, or be ok with breaking things...

@jasmussen
Copy link
Contributor Author

Many old themes shipped different CSS to the editor and the frontend, so my concern is that the editor styles would break.

Exactly, for example TT1 shipped this:

.editor-styles-wrapper [data-block] {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
}

The margin/spacing situation in the editor has been bad for a long time, prompting the need for the above in the first place. But as of Gutenberg 11.3, and for every block theme, it is no longer necessary to reset the base margin styles. So any newly developed theme should not need to include styles like the above.

However for every classic theme that includes margin rules like the above, it means there will be a jump when first clicking the appender, unless we add that property. So in fact the fix here is to make those old editor styles work as they probably meant to in the first place. In that vein, this PR is more likely to fix things, than break them. The primary question is whether it's worth it, since targetting [data-block] (as opposed to .wp-block or just base elements like p, ul, ol etc) as an editor style was arguably bad practice in the first place.

@jasmussen jasmussen force-pushed the try/fix-appender-shift-classic branch from 010d40e to 05cd10f Compare October 13, 2021 06:18
@jasmussen
Copy link
Contributor Author

I pushed 9daedf8 in hopes that it would fix the data-block e2e test, allowing it to also count the appender as a block, but it did not seem to work. @kevin940726, I think you worked on the original test in #28160. If you have time to look, any input on how to best handle this?

@@ -87,6 +87,8 @@ function BlockListAppender( {
'block-list-appender wp-block',
className
) }
// Many editor styles incorrectly target [data-block] instead of .wp-block.
data-block
Copy link
Member

Choose a reason for hiding this comment

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

Can we not keep the wp-block class as well?

Copy link
Member

Choose a reason for hiding this comment

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

I remember these classes switching around many times, so it would be good to comment in depth on why which classes and attributes should be there and why some don't. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did try to remove the wp-block class in the past, but it was added back due to causing issues. There's a bit more context here: #33895 (comment)

To be honest, I am myself a little confused about the structure and the classnames, but I do understand that the empty paragraph appender, in order to emulate an actual empty paragraph, needs to be surfaced as a block. The added challenge here is how especially classic themes have come to target [data-block] as a blanket "this is a block" attribute and usually attached spacing to it.

To an extent, I wish I could fix every theme to not do that, but this isn't feasible. And avoiding the initial appender jump feels important enough to result in this PR in the first place.

What would a good comment look like? Here's a work in progress:

// The appender exists to let you add the first Paragraph before any is inserted.
// To that end, this appender should visually be presented as a block. That means
// theme CSS should style it as if it were an empty paragraph block.
// That means a `wp-block` class to ensure the width is correct, and a [data-block]
// attribute to ensure the correct margin is applied, especially for classic themes
// which have commonly targetted that attribute for margins.

What do you think?

@jasmussen
Copy link
Contributor Author

Tests are green. I'd appreciate a quick test and maybe an approval if anyone has time!

Copy link
Member

@kevin940726 kevin940726 left a comment

Choose a reason for hiding this comment

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

Changes look good to me. Agreed that adding more comments would help here though :)

@jasmussen
Copy link
Contributor Author

Thanks so much. I've added the above comments for now (with better linebreaks and a typo fix), and will land this one when the checks pass. It's a very very tiny PR that very much elevates the experience for classic themes, and because it's such a small change, it's easy to revisit or revert if it turns out to cause troubles, for which I'll be here for followups.

@jasmussen jasmussen merged commit 4273f6e into trunk Oct 15, 2021
@jasmussen jasmussen deleted the try/fix-appender-shift-classic branch October 15, 2021 07:41
@github-actions github-actions bot added this to the Gutenberg 11.8 milestone Oct 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Themes Questions or issues with incorporating or styling blocks in a theme.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants