What is @ckeditor/ckeditor5-typing?
@ckeditor/ckeditor5-typing is a package that provides typing-related features for CKEditor 5, a modern JavaScript rich text editor. This package includes functionalities such as input handling, text transformations, and undo/redo support, which are essential for creating a seamless and user-friendly text editing experience.
What are @ckeditor/ckeditor5-typing's main functionalities?
Input Handling
This feature handles the basic input from the user, ensuring that text is correctly inserted into the editor. The code sample demonstrates how to include the Typing plugin in a CKEditor 5 instance.
import Typing from '@ckeditor/ckeditor5-typing/src/typing';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Typing, ... ],
toolbar: [ ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Text Transformations
This feature provides automatic text transformations, such as converting quotes to smart quotes or converting -- to an em dash. The code sample shows how to include the TextTransformation plugin in a CKEditor 5 instance.
import TextTransformation from '@ckeditor/ckeditor5-typing/src/texttransformation';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ TextTransformation, ... ],
toolbar: [ ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Undo/Redo Support
This feature allows users to undo and redo their actions within the editor. The code sample demonstrates how to include the Undo plugin and add undo/redo buttons to the toolbar in a CKEditor 5 instance.
import Undo from '@ckeditor/ckeditor5-undo/src/undo';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Undo, ... ],
toolbar: [ 'undo', 'redo', ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Other packages similar to @ckeditor/ckeditor5-typing
quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility. It offers similar typing and text transformation features, but with a different API and plugin system compared to CKEditor 5.
tinymce
TinyMCE is another popular rich text editor that provides a wide range of features, including input handling, text transformations, and undo/redo support. It is highly customizable and has a large plugin ecosystem, similar to CKEditor 5.
draft-js
Draft.js is a JavaScript rich text editor framework, built by Facebook, that allows for extensive customization and control over the editor's behavior. It provides similar functionalities but requires more setup and configuration compared to CKEditor 5.