Highlight
The Highlight
feature offers text marking tools that help content authors speed up their work, for example when reviewing content or marking it for future reference. It uses inline <mark>
elements in the view, supports both markers (background color) and pens (text color), and comes with a flexible configuration.
The highlight plugin always comes with a predefined and limited number of available colors. It also focuses on the functionality aspect rather than pure aesthetics. For changing the appearance of the text and background color, use the font color and background color plugin.
# Demo
Select the text you want to highlight, then use the highlight toolbar button
to chose a desired color from the dropdown.# Related features
There are more CKEditor 5 features that can help you style your content:
- Basic text styles – The essentials, like bold, italic and others.
- Font styles – Easily and efficiently control the font family, size, text or background color.
- Block quote – Include block quotations or pull quotes in your rich-text content.
- Remove format – Easily clean basic text formatting.
# Configuring the highlight options
# Dropdown
It is possible to configure which highlight options are supported by the editor.
You can use the highlight.options
configuration and define your own highlight styles.
For example, the following editor supports only two styles (a green marker and a red pen):
# Inline buttons
Instead of using the (default) 'highlight'
button, the feature also supports a configuration with separate buttons available directly in the toolbar:
# Colors and styles
See the plugin options to learn more about defaults.
# Using CSS variables
The highlight feature is using the power of CSS variables which are defined in the stylesheet. Thanks to that, both the UI and the content styles share the same color definitions which can be easily customized:
# Inline color definitions
It is possible to use inline color values in the rgba(R, G, B, A)
, #RRGGBB[AA]
or hsla(H, S, L, A)
formats instead of CSS variables. To do that, customize the options and define the color
property for each option:
Then, update the classes in the stylesheet so the content corresponds to the UI of the editor. It is recommended for the UI buttons and the actual highlights in the text to share the same colors.
# Installation
To add this feature to your editor install the @ckeditor/ckeditor5-highlight
package:
And add it to your plugin list and the toolbar configuration:
Read more about installing plugins.
# Common API
The Highlight
plugin registers:
-
The
'highlight'
dropdown, -
The
'highlight'
command.The number of options and their names correspond to the
highlight.options
configuration option.You can change the highlight of the current selection by executing the command with a desired value:
The
value
corresponds to themodel
property in the configuration object. For the default configuration:the
'highlight'
command will accept the corresponding strings as values:'yellowMarker'
– available as the'highlight:yellowMarker'
button,'greenMarker'
– available as the'highlight:greenMarker'
button,'pinkMarker'
– available as the'highlight:pinkMarker'
button,'blueMarker'
– available as the'highlight:blueMarker'
button,'redPen'
– available as the'highlight:redPen'
button,'greenPen'
– available as the'highlight:greenPen'
button.
Passing an empty
value
will remove anyhighlight
attribute from the selection:
We recommend using the official CKEditor 5 inspector for development and debugging. It will give you tons of useful information about the state of the editor such as internal data structures, selection, commands, and many more.
# Contribute
The source code of the feature is available on GitHub in https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-highlight.
Every day, we work hard to keep our documentation complete. Have you spotted an outdated information? Is something missing? Please report it via our issue tracker.