Customizing CKEditor in Drupal 7 and 8
Having worked on new ways of doing layouts with the Paragraphs module and worked with Institute Communications on the development of a new version of the Georgia Tech web theme, I realized that there was still one component of website visual design that I had yet to address: a visual building block toolkit for content creators and editors. Custom layouts are a part of this puzzle, but they do not address the need for custom styled headings, buttons, introductory text, etc. that need to be part of the actual content of a page.
The challenge here is that you want to make these custom styles easy to use and easy to maintain. The most obvious approach is to add them to your chosen WYSIWYG editor, but figuring out how to do that can be tricky. Here at Georgia Tech we use Drupal and in turn the preferred Drupal editor, CKEditor. This is helpful, as there are lots of guides out there for extending both Drupal and CKEditor, but it can take time to dig through them and figure out how to make it all work.