Automatic text transformation (autocorrect)
The TextTransformation
feature brings support for implementing autocorrection options, i.e. automatically turning predefined snippets into their improved forms. Here are some examples that will be transformed in your WYSIWYG editor:
From | To |
---|---|
(tm) | ™ |
1/2 | ½ |
-> | → |
-- | – |
"foo" | “foo” |
This feature comes pre-configured with a set of the most popular transformations. You can, however, disable existing ones or add your own autocorrect entries.
While most often this feature is used to easily insert special characters that are not present on your keyboard, it can also be used to achieve other goals. For instance, you can improve the users’ productivity by configuring it to expand some abbreviations (e.g. team or company names) into their full forms.
You may find additional interesting details and usage examples in the Automatic text transformation in CKEditor 5 blog post after reading this guide.
This feature is enabled by default in all predefined builds.
# Demo
Type snippets such as (c)
, 3/4
, !=
, ---
, "foo"
into the rich-text editor below and see how they get transformed into their typographically nicer forms. You can see the complete list of predefined transformations in the TextTransformationConfig
documentation.
# Related productivity features
In addition to enabling automatic text transformations, you may want to check the following productivity features:
- Autoformatting – Allows to quickly apply formatting to the content you are writing.
- Autolink – Turns the links and email addresses typed or pasted into the editor into active URLs.
- Mentions – Brings support for smart autocompletion.
# Configuring transformations
This feature comes pre-configured with a set of transformations. You can find the list of them in the TextTransformationConfig
documentation.
By using the options defined below you can extend, limit or override this list:
typing.transformations.include
– Overrides the default configuration. When overriding the default configuration you can reuse the predefined transformations (by using their names that can be found in theTextTransformationConfig
documentation) and write your own transformations.typing.transformations.remove
– Removes predefined transformations.typing.transformations.extra
– Adds your custom transformations to the predefined ones.
# Example: Using transformations.include
For instance, in order to use only the transformations from the “quotes” and “typography” groups and to turn CKE
into CKEditor
, you can use the transformations.include
property like this:
# Example: Using transformations.remove
and extra
Another example, removing a few transformations and adding some extra ones:
You can read more about the format of transformation rules in TextTransformationDescription
.
You can test the custom rules defined above in the demo. Try the emojis and see the editor automatically capitalize words after a full stop, a quotation mark and an exclamation mark.
# Installation
This feature is enabled by default in all predefined builds. The installation instructions are for developers interested in building their own, custom rich text editor.
To add this feature to your rich-text editor, install the @ckeditor/ckeditor5-typing
package:
And add it to your plugin list configuration:
Read more about installing plugins.
# Contribute
The source code of the feature is available on GitHub in https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-typing.
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.