Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools oft miss.
@ckeditor/ckeditor5-editor-classic
Advanced tools
Classic editor implementation for CKEditor 5.
@ckeditor/ckeditor5-editor-classic is a classic editor build for CKEditor 5, which provides a rich text editor with a wide range of features for content creation. It is highly customizable and can be extended with various plugins to enhance its functionality.
Basic Text Editing
This code initializes a basic instance of the classic editor, allowing users to perform standard text editing operations such as typing, formatting, and styling text.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
ClassicEditor.create(document.querySelector('#editor'))
.then(editor => {
console.log('Editor was initialized', editor);
})
.catch(error => {
console.error(error);
});
Adding Plugins
This code demonstrates how to add plugins to the classic editor. In this example, the 'Bold' and 'Italic' plugins are added, and the toolbar is configured to include buttons for these functionalities.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
const Essentials = require('@ckeditor/ckeditor5-essentials/src/essentials');
const Bold = require('@ckeditor/ckeditor5-basic-styles/src/bold');
const Italic = require('@ckeditor/ckeditor5-basic-styles/src/italic');
ClassicEditor.create(document.querySelector('#editor'), {
plugins: [Essentials, Bold, Italic],
toolbar: ['bold', 'italic']
})
.then(editor => {
console.log('Editor with plugins was initialized', editor);
})
.catch(error => {
console.error(error);
});
Customizing Toolbar
This code shows how to customize the toolbar of the classic editor. The toolbar is configured to include specific items such as 'heading', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'undo', and 'redo'.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
ClassicEditor.create(document.querySelector('#editor'), {
toolbar: {
items: [
'heading',
'|',
'bold',
'italic',
'link',
'bulletedList',
'numberedList',
'|',
'undo',
'redo'
]
}
})
.then(editor => {
console.log('Editor with custom toolbar was initialized', editor);
})
.catch(error => {
console.error(error);
});
TinyMCE is a popular rich text editor that offers a wide range of features similar to CKEditor. It is highly customizable and supports various plugins for extending its functionality. Compared to @ckeditor/ckeditor5-editor-classic, TinyMCE has a different API and plugin system but offers comparable text editing capabilities.
Quill is a modern rich text editor built for compatibility and extensibility. It provides a clean API and a modular architecture, making it easy to customize and extend. While Quill offers a different approach to text editing compared to @ckeditor/ckeditor5-editor-classic, it is also a powerful tool for creating rich text content.
Draft.js is a JavaScript rich text editor framework developed by Facebook. It provides a set of tools for building rich text editors with React. Unlike @ckeditor/ckeditor5-editor-classic, Draft.js is more of a framework than a ready-to-use editor, offering more flexibility for developers to create custom text editing experiences.
The classic editor implementation for CKEditor 5.
This package contains the ClassicEditor
class. Follow there to learn more about this type of editor and how to initialize it.
This package contains the source version of the classic editor. This kind of editor implementation is also available as a ready-to-use classic build. Read more about CKEditor 5 predefined builds in the CKEditor 5 documentation.
See the @ckeditor/ckeditor5-editor-classic
package page in CKEditor 5 documentation.
npm install ckeditor5
Licensed under a dual-license model, this software is available under:
For more information, see: https://ckeditor.com/legal/ckeditor-licensing-options.
44.1.0 (December 16, 2024)
We are pleased to announce the latest CKEditor 5 release, focusing on performance enhancements and key bug fixes to improve your editing and collaboration experience.
This release introduces another set of performance related improvements, focused on faster editor initialization for huge documents. The initialization time was lowered by further 15% to 45%, depending on the tested sample.
The combined improvements introduced in recent releases amount to around 65%-80% lower loading time in total, which means the editor will load 3-5x faster. As the gain is not linear, bigger documents see even better improvement (more than 10x faster).
Moreover, all these improvements positively impact document save time (editor.getData()
), which should help with autosave issues, among others.
We still actively work in this area, so you may expect even more editor load and save efficiency improvements in the upcoming releases.
showCommentHighlights
option in editor.getData()
, that changes the comment marker conversion, allowing for styling comments in the output. Perfect for showing what was commented in Export to PDF, for example.As the holiday season approaches, we extend our warmest wishes to our community and users. Thank you for your continued support, and we look forward to bringing you further enhancements and exciting features in the coming year.
FAQs
Classic editor implementation for CKEditor 5.
The npm package @ckeditor/ckeditor5-editor-classic receives a total of 264,771 weekly downloads. As such, @ckeditor/ckeditor5-editor-classic popularity was classified as popular.
We found that @ckeditor/ckeditor5-editor-classic demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools oft miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.