Beginning on September 9, 2022, this module's dependency on Drupal core's ckeditor module is now reinterpreted as a dependency upon the contrib ckeditor module as a result of Ensure that ckeditor does not get special core treatment. This is a change in Drupal.org's infrastructure and does not reflect any changes made by this module. As a result, it is no longer possible to support the core version of ckeditor. Only the contrib version can be supported. Composer-related issues caused by this change in Drupal.org's infrastructure are addressed in the 8.x-3.2 release.

This module allows for custom CKEditor configuration to be attached to individual editors.

See https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html
for configuration options.

How to use this module (8.x-3.x)

  • Install the module
  • Navigate to an editor configuration page
    (/admin/config/content/formats/manage/[editor])
  • On the configuration page, navigate to CKEditor custom configuration under CKEditor plugin settings
  • Enter custom configuration with each item on its own line formatted as
    [setting.name] = [value] with the value formatted in valid JSON syntax on a single line:

    Examples:
    forcePasteAsPlainText = true
    tabIndex = 3
    removePlugins = "font"
    format_h2 = { "element": "h2", "attributes": { "class": "contentTitle2" } }

Configuration form screenshot

Updating to 8.x-3.x from 8.x-2.x

When updating to 8.x-3.x from 8.x-2.x, there is no automated upgrade path. Site owners will need to manually verify and update their site configuration. In most cases, only minor changes will be required.

The difference between the two branches is that 8.x-3.x supports JSON objects and arrays and 8.x-2.x does not. As a result, the config values must now be formatted as valid JSON.

See the update documentation for more details.

Supporting organizations: 
sponsored 2.x and 3.x development

Project information

Releases