/ckeditor5

Development environment for CKEditor 5; the best browser-based rich text editor.

Primary LanguageJavaScriptOtherNOASSERTION

CKEditor 5 Tweet

Build Status BrowserStack Status Dependency Status devDependency Status

Join the chat at https://gitter.im/ckeditor/ckeditor5 Join newsletter Follow twitter

A set of ready to use rich text editors created with a powerful framework. Made with real-time collaborative editing in mind.

CKEditor 5 Classic editor build screenshot

Table of contents

Quick start

CKEditor 5 Builds

CKEditor 5 Builds are a set of ready to use rich text editors. Every "build" provides a single type of editor with a set of features and a default configuration.

The following CKEditor 5 Builds are currently available:

Example

Creating an editor using a CKEditor 5 build is very simple and can be described in two steps:

  1. Load the desired editor via the <script> tag.
  2. Call the static create() method to create the editor.

In your HTML page add an element that CKEditor should replace:

<textarea name="content" id="editor"></textarea>

Load the classic editor build (here CDN location is used):

<script src="https://cdn.ckeditor.com/ckeditor5/<version>/classic/ckeditor.js"></script>

Call the ClassicEditor.create() method:

<script>
    ClassicEditor
        .create( document.querySelector( '#editor' ) )
        .catch( error => {
            console.error( error );
        } );
</script>

You’re ready to go!

To find out how to start with other builds please go to the quick start section of CKEditor 5 documentation.

CKEditor 5 Framework

CKEditor 5 Builds allow you to quickly and easily initialize one of the many types of editors in your application. At the same time, CKEditor 5 is also a framework for creating custom-made rich text editing solutions.

To find out how to start building your own editor from scratch go to CKEditor 5 Framework overview section of CKEditor 5 documentation.

Documentation and FAQ

To find out more see the following CKEditor 5 documentation sections:

The documentation is far from being complete and will be constantly evolving (as will the editor) until it is ready for v1.0.0.

For FAQ please go to the CKEditor Ecosystem help center. For a high-level overview of the project see the CKEditor Ecosystem website.

Contributing and project organization

Ideas and discussions

The main development repository of CKEditor 5 is located at https://github.com/ckeditor/ckeditor5. This is the best place for bringing opinions and contributions. Letting the core team know if they are going in the right or wrong direction is great feedback and will be much appreciated!

Development

CKEditor 5 is a modular, multi-package, multi-repository project. It consists of a several packages which create the editing framework, based on which the feature packages are implemented.

The ckeditor5 repository is the place that centralizes the development of CKEditor 5. It bundles different packages into a single place, adding the necessary helper tools for the development workflow, like the builder and the test runner. Basic information on how to set up the development environment can be found in the documentation.

Reporting issues and feature requests

Each repository independently handles its issues. However, it's recommended to report issues in this repository unless you know to which specific repository the issue belongs.

Read more in the Support page.

Releases

The latest five releases:

For more CKEditor 5 release blog posts browse the CKEditor blog.

Packages

Core libraries

Name Version Description
@ckeditor/ckeditor5-engine @ckeditor/ckeditor5-engine npm package badge The editing engine.
@ckeditor/ckeditor5-core @ckeditor/ckeditor5-core npm package badge The core editor architecture.
@ckeditor/ckeditor5-ui @ckeditor/ckeditor5-ui npm package badge The editor UI library.
@ckeditor/ckeditor5-utils @ckeditor/ckeditor5-utils npm package badge The editor utilities library.
@ckeditor/ckeditor5-upload @ckeditor/ckeditor5-upload npm package badge Introduces the file upload utilities.
@ckeditor/ckeditor5-widget @ckeditor/ckeditor5-widget npm package badge Introduces the widget API.
@ckeditor/ckeditor5-cloudservices @ckeditor/ckeditor5-cloudservices npm package badge CKEditor 5's Cloud Services integration layer.

Editors

Name Version Description
@ckeditor/ckeditor5-editor-classic @ckeditor/ckeditor5-editor-classic npm package badge The classic editor implementation.
@ckeditor/ckeditor5-editor-inline @ckeditor/ckeditor5-editor-inline npm package badge The inline editor implementation.
@ckeditor/ckeditor5-editor-balloon @ckeditor/ckeditor5-editor-balloon npm package badge The balloon editor (Medium-like) implementation.

Features

Name Version Description
@ckeditor/ckeditor5-adapter-ckfinder @ckeditor/ckeditor5-adapter-ckfinder npm package badge Introduces the CKFinder adapter for features which require upload capabilities.
@ckeditor/ckeditor5-alignment @ckeditor/ckeditor5-alignment npm package badge Introduces the text alignment feature.
@ckeditor/ckeditor5-autoformat @ckeditor/ckeditor5-autoformat npm package badge Introduces the autoformatting feature. Replaces predefined characters with a corresponding format (e.g. **foo** becomes bolded <strong>foo</strong>).
@ckeditor/ckeditor5-basic-styles @ckeditor/ckeditor5-basic-styles npm package badge Introduces the bold, italic, underline and code features.
@ckeditor/ckeditor5-block-quote @ckeditor/ckeditor5-block-quote npm package badge Introduces the block quote feature.
@ckeditor/ckeditor5-clipboard @ckeditor/ckeditor5-clipboard npm package badge Introduces the clipboard integration.
@ckeditor/ckeditor5-enter @ckeditor/ckeditor5-enter npm package badge Introduces the Enter key feature.
@ckeditor/ckeditor5-easy-image @ckeditor/ckeditor5-easy-image npm package badge Introduces Easy Image with Cloud Services feature.
@ckeditor/ckeditor5-heading @ckeditor/ckeditor5-heading npm package badge Introduces the heading feature.
@ckeditor/ckeditor5-image @ckeditor/ckeditor5-image npm package badge Introduces the image feature. Supports image styles and captioning.
@ckeditor/ckeditor5-link @ckeditor/ckeditor5-link npm package badge Introduces the link feature.
@ckeditor/ckeditor5-list @ckeditor/ckeditor5-list npm package badge Introduces numbered and bulleted lists feature.
@ckeditor/ckeditor5-markdown-gfm @ckeditor/ckeditor5-markdown-gfm npm package badge Introduces GitHub-flavored Markdown data processor.
@ckeditor/ckeditor5-paragraph @ckeditor/ckeditor5-paragraph npm package badge Introduces the paragraph feature.
@ckeditor/ckeditor5-typing @ckeditor/ckeditor5-typing npm package badge Introduces typing and deleting features.
@ckeditor/ckeditor5-undo @ckeditor/ckeditor5-undo npm package badge Introduces the undo feature.

Themes

Name Version Description
@ckeditor/ckeditor5-theme-lark @ckeditor/ckeditor5-theme-lark npm package badge The Lark theme. ckeditor5-theme-lark npm package badge build status badge

Builds

Name Version Description
@ckeditor/ckeditor5-build-classic @ckeditor/ckeditor5-build-classic npm package badge The classic editor build.
@ckeditor/ckeditor5-build-inline @ckeditor/ckeditor5-build-inline npm package badge The inline editor build.
@ckeditor/ckeditor5-build-balloon @ckeditor/ckeditor5-build-balloon npm package badge The balloon editor (Medium-like) build.

License

Licensed under the GPL, LGPL and MPL licenses, at your choice. For full details about the license, please check the LICENSE.md file.