CKEditor module overview
The CKEditor module is included in Drupal 8 core and is located in the codebase at
The CKEditor module builds on Drupal 8's Text Editor module to provide a deeply integrated CKEditor text editor out of the box. Unlike the contributed module in Drupal 7, the CKEditor module in Drupal 8 core:
- still, ensures structured content and clean markup (and works with rather than around the filter system)
- significantly improved support for pasting from Microsoft Word, Google Docs, etc.
- has strong safety guarantees that protect content editors
Noteworthy technical background information
In order to achieve this, Drupal contributors have closely collaborated with the CKEditor team (and continue to do so: it is maintained by both members of the Drupal community and the CKEditor team!). The CKEditor team has developed significant new features especially for Drupal 8. Here are the two most important ones:
- ACF, or Advanced Content Filter (in CKEditor 4.1), which allows Drupal to guarantee CKEditor generates clean markup, and only markup that is allowed by Drupal's filters, which means CKEditor's markup preview matches the output exactly.
- The CKEditor Widget system (in CKEditor 4.3), which allows Drupal to provide a great UX for filters that apply transformations. For example, Drupal 8 allows you to align and caption images via filters (using the
data-captionattributes). By implementing that as
data-attributes that filters can process on output, we continue to store semantic, structured content that can easily be transformed in different ways on output (and even uses a themable template!). To not burden content authors with that, Drupal 8 uses the CKEditor Widget API to provide an intuitive way to add a caption to an image.
Using CKEditor Widgets for a better, tailored authoring experience
The two aforementioned features are essential to using a text editor with Drupal for a better UX, while still supporting the same robust structured content/data modeling. Drupal 8 sites can implement custom filters (like before) to fulfill their content authoring needs, but now can provide a much better experience by writing a CKEditor plugin that hugely improves the authoring experience for those site-specific needs, by using both the Widget and ACF APIs.
- Filter module: text formats that filter user input
- Text Editor module: associating assistive editors with text formats
- CKEditor API
- Drupal 8: best authoring experience for structured content?
- CKEditor in Drupal 8: site builders & developers Q&A's
- List of contributed modules and plugins for Drupal 8 CKEditor