Problem/Motivation
Part of the plan in #3050378: [meta] Replace Classy with a starterkit theme is removing Classy from Core in Drupal 10. It will be some time before a Drupal 10 branch is opened, but part of this process includes adding technical debt that should be addressed in Drupal 10. This issue provides a home for that debt.
Proposed resolution
When Drupal 10 branch becomes available, update the IS with more detail and commence Classy removing.
Remaining tasks
- Be sure to check for @todo items referencing this issue, issues such as #3109287: Decouple Classy-inheriting themes from Classy's preprocess functions will have added them.
User interface changes
API changes
Data model changes
Release notes snippet
The Classy base theme has been removed from Drupal core and is now available as a contributed theme. Themes depending on Classy should add a dependency on the contributed theme.
Comment | File | Size | Author |
---|---|---|---|
#47 | 3110137-47.patch | 312.14 KB | Spokje |
| |||
#47 | raw_diff_34-47.txt | 6.59 KB | Spokje |
#14 | Screen Shot 2022-09-01 at 16.20.35.png | 17.63 KB | lauriii |
Issue fork drupal-3110137
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
dwwAt first I thought this was duplicate with #3050378: [meta] Replace Classy with a starterkit theme but I see you propose this as an independent step. Adding that as the parent to make this relationship more explicit.
Thanks,
-Derek
Comment #3
bnjmnmComment #4
MixologicWhen removing a module from core, the composer facade will have to deal with namespace collisions.
If we keep the project machine name the same, then there will be a namespace "drupal/classy" that refers to the theme that was available in core, and the composer facade will automatically assign a name of "drupal/classy-classy" to the contrib version of this theme.
Right now, I cant find any evidence of any projects with an existing dependency on drupal/classy so we might be safe to swap the namespaces so that drupal/core-classy then refers to the old one ( since nobody was really using that.)
But definitely coordinate with the infra team if we want to preserve that namespace.
Comment #8
steinmb CreditAttribution: steinmb commentedComment #10
lauriiiI think we can start working on this. I filed an issue to do the deprecation #3307241: Deprecate Classy in favor of the new Starterkit Theme.
Comment #11
SpokjeComment #12
Spokje#4 is being taken care of in #3302966: Ensure that classy doesn't get special core treatment
Comment #13
lauriiiSorry, I didn't realize this is assigned to you @Spokje because I had this issue open for a while... I pushed commit to the fork that should handle deleting all references to Classy.
Comment #14
lauriiiI don't seem to be able to open MR for this 😢
Comment #15
SpokjeRight... That's about 30 minutes I could have spend elsewhere...
Comment #16
lauriiiHere's a patch because of #14.
Comment #17
lauriii@Spokje I think that might not actually be waster time! What you could do is take your commit/patch and compare if it's different from #16. If there are differences, we should look into that. If it's exactly the same, I believe you could mark this as RTBC.
Comment #20
bnjmnmI had a branch with much of Classy removed already for when I was testing test removal. Updated the maintainers and Stable readme on top of that like @lauriii did in #16
Comment #21
bnjmnmComment #22
bnjmnmComment #23
SpokjeI think it is better to postpone this on #3307454: Move classy related tests to the theme directory/namespace or handle them otherwise, which, upon being committed, will probably mean a reroll for this one.
Comment #24
bnjmnm#3307454: Move classy related tests to the theme directory/namespace or handle them otherwise is in, so this is unpostponed
Comment #25
lauriiiComment #26
SpokjeAdded a few missed classy references/tests to the patch.
Left with a few (hopefully mildly annoying) questions:
- We're sure we're doing this on
10.1.x
and not on10.0.x
- What to do with the Classy reference in this help-topic:
https://git.drupalcode.org/project/drupal/-/blob/10.1.x/core/modules/hel...
- What to do with the Classy reference in this comment in Umami and Claro theme:
https://git.drupalcode.org/project/drupal/-/blob/10.1.x/core/profiles/de...
https://git.drupalcode.org/project/drupal/-/blob/10.1.x/core/themes/clar...
Comment #28
lauriiiThank you for working on this @Spokje! Here's what I think we should do:
core.appearance.html.twig
help topic could reference Stable 9. I'm wondering if we should update this to also mention the starterkit theme generator?umami_preprocess_links__media_library_menu
andclaro_form_alter
Comment #29
SpokjeThanks @lauriii
Putting issue version on
10.0.x-dev
Swapped out Classy with Stable 9. I think we should mention the starterkit theme generator, but I think that's something for a follow-up issue?
Removed them in newly uploaded patch.
Comment #30
bnjmnmThere were two remaining @todo "remove condition, keep (etc)" that pointed to this issue that are now removed
Comment #31
nod_Comment #32
lauriiicore/themes/starterkit_theme/css/components/image-widget.css
because it has still couple Classy references.core/themes/olivero/templates/block/block--search-form-block.html.twig
Comment #33
bnjmnmAddresses #32 plus other things I spotted.
Comment #34
bnjmnmComment #35
lauriiiThank you @bnjmnm! I think all of the remaining mentions of Classy make sense even though Classy has been removed.
Comment #36
SpokjeYes, I hate the admin stuff as well, but to be completely sure we've covered all our bases, I've created #3308518: [Meta] Tasks to remove Classy theme from core and move to contrib.
Looks like we need a resplit of the Core theme to the contrib module (I _think_ it's only the two moved tests that are missing in the contrib project now) and manual testing for this issue to be fully ready?
Comment #37
SpokjeReparenting
Comment #38
SpokjeBlatantly copied and edited #3306630: Split the core 9.5.x ckeditor history into a new 1.0.x branch and cut a 1.0.0 release to #3308540: Split the latest core classy history into the 1.0.x branch and cut a 1.0.0 release for #36.
Comment #39
Wim Leers#38: I did the same and used #3260995: Split the core 9.4.x quickedit history into a new 1.0.x branch and cut a 1.0.0 release as a starting point 🤓
Comment #40
SpokjeCopy-paste-adapt, the cornerstone of every developer 😈
Comment #41
lauriiiI tagged 1.0.0-rc1 on the Classy contrib project. It would be helpful if someone running theme depending on Classy could manually test the theme with the following steps:
composer install
composer require drupal/classy
Comment #42
lauriiiTried to test this but this needs a reroll now that #3278415: Remove usages of the JavaScript ES6 build step, the build step itself, and associated dev dependencies has landed
Comment #43
SpokjeO well, why not do another reroll :)
Comment #44
SpokjeComment #45
SpokjeComment #46
Spokje(Why is there _always_ one thing I forget to update in the first attempt...)
Comment #47
Spokje(More relevant, why did I get the reroll wrong...)
Comment #48
lauriiiTested #41 using Garland and everything worked as expected! Confirmed that the reroll should be good 👍
Comment #49
lauriiiI tagged a stable release on the contrib project and opted-in for security team coverage.
Comment #50
lauriiiComment #51
catchPatch looks good - a few references to remove along with the module but mostly docs so makes sense to do it in one go.
Committed/pushed to 10.1.x and cherry-picked to 10.0.x, thanks!