Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
@ckeditor/ckeditor5-core
Advanced tools
The core architecture of CKEditor 5 – the best browser-based rich text editor.
@ckeditor/ckeditor5-core is a core package for CKEditor 5, a modern JavaScript rich text editor. It provides essential functionalities and utilities for building and customizing CKEditor 5 editors.
Editor Creation
This feature allows you to create and initialize a CKEditor 5 instance. The code sample demonstrates how to create a classic editor and attach it to a DOM element.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
const Editor = require('@ckeditor/ckeditor5-core/src/editor/editor');
ClassicEditor.create(document.querySelector('#editor'))
.then(editor => {
console.log('Editor was initialized', editor);
})
.catch(error => {
console.error(error.stack);
});
Plugin Management
This feature allows you to create and manage plugins for CKEditor 5. The code sample demonstrates how to create a custom plugin and include it in the editor configuration.
const Plugin = require('@ckeditor/ckeditor5-core/src/plugin');
class MyPlugin extends Plugin {
init() {
console.log('MyPlugin was initialized');
}
}
ClassicEditor.create(document.querySelector('#editor'), {
plugins: [ MyPlugin ]
})
.then(editor => {
console.log('Editor with MyPlugin was initialized', editor);
})
.catch(error => {
console.error(error.stack);
});
Command Management
This feature allows you to create and manage commands in CKEditor 5. The code sample demonstrates how to create a custom command and execute it within the editor.
const Command = require('@ckeditor/ckeditor5-core/src/command');
class MyCommand extends Command {
execute() {
console.log('MyCommand executed');
}
}
ClassicEditor.create(document.querySelector('#editor'))
.then(editor => {
editor.commands.add('myCommand', new MyCommand(editor));
editor.execute('myCommand');
})
.catch(error => {
console.error(error.stack);
});
TinyMCE is another popular rich text editor that provides a wide range of features and plugins. It is similar to CKEditor 5 in terms of functionality but has a different API and plugin system.
Quill is a modern WYSIWYG editor built for compatibility and extensibility. It offers a simpler API compared to CKEditor 5 and is highly customizable through its modular architecture.
Draft.js is a JavaScript rich text editor framework developed by Facebook. It provides a set of React components and an immutable model for managing editor state, making it different from CKEditor 5's approach.
This package implements CKEditor 5's core editor architecture – a set of classes and interfaces which glue everything together.
For general introduction see the Overview of CKEditor 5 framework guide and then the core editor architecture guide.
Additionally, see the @ckeditor/ckeditor5-core
package page in CKEditor 5 documentation for even more information.
npm install ckeditor5
Licensed under the terms of GNU General Public License Version 2 or later. For full details about the license, please check the LICENSE.md
file or https://ckeditor.com/legal/ckeditor-oss-license.
43.0.0 (August 7, 2024)
We are happy to announce the release of CKEditor 5 v43.0.0.
The new merge fields feature is a game-changer for creating document templates and other kinds of personalized or dynamic content. Thanks to this feature, you can insert placeholders into your content, indicating where actual values should go. These places are marked in the final content in a distinctive way, making it easy to later process the template and fill it with the actual values. The feature supports a preview mode too - you can define preview data sets, and see how the content will look like when real values are used directly in the editor. The plugin is highly customizable to fit various applications and scenarios. Finally, merge fields are fully integrated with our Export to Word, Export to PDF, and Import from Word features, both when they are used from the editor and via REST API.
We are extremely happy to share with you this highly demanded feature, and we cannot wait to listen to your feedback!
Make sure to visit our builder or documentation to learn more about the feature.
The V2 version of the export to Word feature introduced significant improvements, optimizations, and fixes. This update enhances the overall performance, making the export process faster and more reliable, especially for large documents. Key improvements include better handling of table borders, automatic detection of Word styles from CSS, and support for more text-related CSS properties, ensuring your documents maintain their intended formatting.
Starting this version, the V2 configuration becomes the default in the ExportWord
plugin. Make sure to migrate your configuration if you are using it.
We have introduced multiple enhancements to make the sidebar more accessible. Among other improvements, you can now use the <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>E</kbd> keystroke to move focus from the editor marker to the active annotation. When your comment reply is ready, you can quickly submit it using the new <kbd>Ctrl</kbd>+<kbd>Enter</kbd> shortcut. Also, navigation from one annotation to another is now possible by using arrow keys.
The full lists of keyboard supported actions can be reviewed in our Accessibility support guide.
This release brings notable bug fixes and improvements to enhance your editing experience.
We have released new major versions of the React and Vue integrations. In both of them, we have migrated to JavaScript modules (ESM) and rewritten large parts of the codebases to support the latest versions of these frameworks and to follow the latest recommendations for writing the components.
We strongly recommend that you follow the release highlights to update to the latest versions:
FAQs
The core architecture of CKEditor 5 – the best browser-based rich text editor.
The npm package @ckeditor/ckeditor5-core receives a total of 652,997 weekly downloads. As such, @ckeditor/ckeditor5-core popularity was classified as popular.
We found that @ckeditor/ckeditor5-core 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
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.