In my experience, a big part of making a Drupal 8 site usable for content editors is customizing the WYSIWYG, which usually includes adding a couple additional CKEditor plugins.
Of course, you can simply download the plugins into the ‘libraries’ folder, and that’s fine. But these days, it’s becoming best practice to pull in all of your site’s dependencies using Composer.
Adding ‘package’ repositories to your composer.json for the CKEditor plugins (the current best practice) works fine – but only for your individual site.
It doesn’t work so well if you want to install:
- A Drupal “Feature” (like with the Features module) that configures the WYSIWYG, including adding some CKEditor plugins, or
- A Drupal distribution (like Panopoly or Lightning)
In those cases, you can’t depend on what the individual site may have in its top-level composer.json, and asking the user to manually copy-paste a bunch of ‘package’ repositories in there may create enough confusion or problems that potential users will just give up.
Well, I’ve got an possible solution to this problem: an experimental Composer repository which includes CKEditor plugins for use on a Drupal site.
It works better for Feature modules and distributions, but can also make life easier for individual sites too.
Read more to find out how it works and how to use it!