Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mlewand/ckeditor5

A playground repository for turning CKEditor 5 multirepo into a monorepo
https://github.com/mlewand/ckeditor5

Last synced: about 2 months ago
JSON representation

A playground repository for turning CKEditor 5 multirepo into a monorepo

Awesome Lists containing this project

README

        

CKEditor 5 [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Check%20out%20CKEditor%205%20on%20GitHub&url=https%3A%2F%2Fgithub.com%2Fckeditor%2Fckeditor5)
===================================

[![npm version](https://badge.fury.io/js/ckeditor5.svg)](https://www.npmjs.com/package/ckeditor5)

[![Build Status](https://travis-ci.org/ckeditor/ckeditor5.svg?branch=master)](https://travis-ci.org/ckeditor/ckeditor5)
[![Dependency Status](https://img.shields.io/david/ckeditor/ckeditor5.svg)](https://david-dm.org/ckeditor/ckeditor5)
[![devDependency Status](https://img.shields.io/david/dev/ckeditor/ckeditor5.svg)](https://david-dm.org/ckeditor/ckeditor5?type=dev)

[![Join newsletter](https://img.shields.io/badge/join-newsletter-00cc99.svg)](http://eepurl.com/c3zRPr)
[![Follow twitter](https://img.shields.io/badge/follow-twitter-00cc99.svg)](https://twitter.com/ckeditor)

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 rich text editor build screenshot](https://c.cksource.com/a/1/img/npm/ckeditor5-build-classic.png)

## ⚠ This package does not contain any source code

CKEditor 5 is distributed as [several ready-to-use rich text editor builds](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#available-builds) which you can [install from npm](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installation.html#npm).

You can also [customize the existing builds](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/development/custom-builds.html) or build your own editors and features by using the [CKEditor 5 Framework](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/overview.html).

## Table of contents

* [Quick start](#quick-start)
* [CKEditor 5 Builds](#ckeditor-5-builds)
* [CKEditor 5 Framework](#ckeditor-5-framework)
* [Documentation and FAQ](#documentation-and-faq)
* [Contributing and project organization](#contributing-and-project-organization)
* [Ideas and discussions](#ideas-and-discussions)
* [Development](#development)
* [Reporting issues and feature requests](#reporting-issues-and-feature-requests)
* [Releases](#releases)
* [Packages](#packages)
* [Core libraries](#core-libraries)
* [Builds](#builds)
* [Features](#features)
* [Editors](#editors)
* [Themes](#themes)
* [License](#license)

## 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:

* [Classic editor](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#classic-editor)
* [Inline editor](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#inline-editor)
* [Balloon editor](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#balloon-editor)
* [Balloon block editor](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#balloon-block-editor)
* [Document editor](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#document-editor)

#### 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 `` tag.
2. Call the static `create()` method to create the editor.

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

```html
<div id="editor"></div>
```

Load the classic editor build (you can choose between [CDN](https://cdn.ckeditor.com/#ckeditor5), [npm](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installation.html#npm) and [zip downloads](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installation.html#zip-download)):

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

Call the [`ClassicEditor.create()`](https://ckeditor.com/docs/ckeditor5/latest/api/module_editor-classic_classiceditor-ClassicEditor.html#static-function-create) method:

```html

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

```

You’re ready to go!

To find out how to start with other builds check the [Quick start guide in the CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/quick-start.html).

### 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](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/overview.html).

## Documentation and FAQ

To find out more see the following [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/index.html) sections:

* [API documentation](https://ckeditor.com/docs/ckeditor5/latest/api/index.html)
* [CKEditor 5 Framework documentation](https://ckeditor.com/docs/ckeditor5/latest/framework/index.html)
* [CKEditor 5 Builds documentation](https://ckeditor.com/docs/ckeditor5/latest/builds/index.html)
* [CKEditor 5 Features documentation](https://ckeditor.com/docs/ckeditor5/latest/features/index.html)
* [CKEditor 5 Examples](https://ckeditor.com/docs/ckeditor5/latest/examples/index.html)

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](https://support.ckeditor.com/hc/en-us).
For a high-level overview of the project see the [CKEditor Ecosystem website](https://ckeditor.com).

## Contributing and project organization

### Ideas and discussions

The main development repository of CKEditor 5 is located at [https://github.com/ckeditor/ckeditor5](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 several packages that create the editing framework, based on which the feature packages are implemented.

The [ckeditor5](https://github.com/ckeditor/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](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/development-environment.html) can be found in the documentation.

See the [official contributors' guide](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html) to learn how to contribute your code to the project.

### Reporting issues and feature requests

Each repository handles its issues independently. However, it is recommended to report issues in [this repository](https://github.com/ckeditor/ckeditor5/issues) unless you know to which specific repository the issue belongs.

Read more on the [Support](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/getting-support.html) page.

## Releases

See CKEditor 5 release blog posts [on the CKEditor blog](https://ckeditor.com/blog/?category=releases&tags=CKEditor-5).

## 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


The file upload utilities.


@ckeditor/ckeditor5-widget


@ckeditor/ckeditor5-widget npm package badge


The widget API.


@ckeditor/ckeditor5-watchdog


@ckeditor/ckeditor5-watchdog npm package badge


The watchdog feature, which keeps CKEditor 5 editors running.


@ckeditor/ckeditor5-cloud-services


@ckeditor/ckeditor5-cloud-services npm package badge


CKEditor 5's Cloud Services integration layer.


@ckeditor/ckeditor-cloud-services-core


@ckeditor/ckeditor-cloud-services-core npm package badge


CKEditor Cloud Services integration utils.

### 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.


@ckeditor/ckeditor5-build-balloon-block


@ckeditor/ckeditor5-build-balloon-block npm package badge


The balloon editor with a block toolbar (Slack–like) build.


@ckeditor/ckeditor5-build-decoupled-document


@ckeditor/ckeditor5-build-decoupled-document npm package badge


The document editor build, featuring the decoupled UI editor implementation.

### Features


Name
Version
Description


@ckeditor/ckeditor5-adapter-ckfinder


@ckeditor/ckeditor5-adapter-ckfinder npm package badge


The CKFinder adapter for features which require upload capabilities (e.g. image upload).


@ckeditor/ckeditor5-alignment


@ckeditor/ckeditor5-alignment npm package badge


The text alignment feature.


@ckeditor/ckeditor5-autoformat


@ckeditor/ckeditor5-autoformat npm package badge


The autoformatting feature. Replaces predefined characters with a corresponding format (e.g. **foo** becomes bold <strong>foo</strong>).


@ckeditor/ckeditor5-autosave


@ckeditor/ckeditor5-autosave npm package badge


The autosave feature. Makes it easy to automatically save the data to the backend.


@ckeditor/ckeditor5-basic-styles


@ckeditor/ckeditor5-basic-styles npm package badge


The bold, italic, underline and code features.


@ckeditor/ckeditor5-block-quote


@ckeditor/ckeditor5-block-quote npm package badge


The block quote feature.


@ckeditor/ckeditor5-ckfinder


@ckeditor/ckeditor5-ckfinder npm package badge


The CKFinder file browser integration.


@ckeditor/ckeditor5-clipboard


@ckeditor/ckeditor5-clipboard npm package badge


The clipboard integration.


@ckeditor/ckeditor5-code-block


@ckeditor/ckeditor5-code-block npm package badge


The code block feature.


@ckeditor/ckeditor5-enter


@ckeditor/ckeditor5-enter npm package badge


The Enter key feature.


@ckeditor/ckeditor5-easy-image


@ckeditor/ckeditor5-easy-image npm package badge


Easy Image with CKEditor Cloud Services feature.


@ckeditor/ckeditor5-font


@ckeditor/ckeditor5-font npm package badge


The font size and font family features.


@ckeditor/ckeditor5-heading


@ckeditor/ckeditor5-heading npm package badge


The heading feature.


@ckeditor/ckeditor5-highlight


@ckeditor/ckeditor5-highlight npm package badge


The highlight feature (markers and pens).


@ckeditor/ckeditor5-horizontal-line


@ckeditor/ckeditor5-horizontal-line npm package badge


The horizontal rule feature.


@ckeditor/ckeditor5-image


@ckeditor/ckeditor5-image npm package badge


The image feature. Supports image styles, captioning, upload, resizing, and more.


@ckeditor/ckeditor5-indent


@ckeditor/ckeditor5-indent npm package badge


The indentation (of lists and blocks) feature.


@ckeditor/ckeditor5-link


@ckeditor/ckeditor5-link npm package badge


The link feature.


@ckeditor/ckeditor5-list


@ckeditor/ckeditor5-list npm package badge


The numbered and bulleted lists feature.


@ckeditor/ckeditor5-markdown-gfm


@ckeditor/ckeditor5-markdown-gfm npm package badge


The GitHub-flavored Markdown data processor.


@ckeditor/ckeditor5-media-embed


@ckeditor/ckeditor5-media-embed npm package badge


The media embed feature.


@ckeditor/ckeditor5-mention


@ckeditor/ckeditor5-mention npm package badge


The mention feature (autocomplete `@mentions`, `#tags`, etc.).


@ckeditor/ckeditor5-page-break


@ckeditor/ckeditor5-page-break npm package badge


The page break feature.


@ckeditor/ckeditor5-paragraph


@ckeditor/ckeditor5-paragraph npm package badge


The paragraph feature.


@ckeditor/ckeditor5-paste-from-office


@ckeditor/ckeditor5-paste-from-office npm package badge


The Paste from Office (Word, Excel, Google Docs, etc.) plugin.


@ckeditor/ckeditor5-remove-format


@ckeditor/ckeditor5-remove-format npm package badge


The remove format feature.


@ckeditor/ckeditor5-restricted-editing


@ckeditor/ckeditor5-restricted-editing npm package badge


The restricted editing feature.


@ckeditor/ckeditor5-select-all


@ckeditor/ckeditor5-select-all npm package badge


The "select all" feature.


@ckeditor/ckeditor5-special-characters


@ckeditor/ckeditor5-special-characters npm package badge


The special characters feature.


@ckeditor/ckeditor5-table


@ckeditor/ckeditor5-table npm package badge


The table feature.


@ckeditor/ckeditor5-typing


@ckeditor/ckeditor5-typing npm package badge


The typing and deleting features.


@ckeditor/ckeditor5-undo


@ckeditor/ckeditor5-undo npm package badge


The undo feature.


@ckeditor/ckeditor5-word-count


@ckeditor/ckeditor5-word-count npm package badge


The word count feature.

### 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.


@ckeditor/ckeditor5-editor-decoupled


@ckeditor/ckeditor5-editor-decoupled npm package badge


The editor implementation with a decoupled UI.

### Themes


Name
Version
Description


@ckeditor/ckeditor5-theme-lark


@ckeditor/ckeditor5-theme-lark npm package badge


The Lark theme.

## License

Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license).