plugins.md 2.7 KB


Scope:

* Introduction on plugins.

* Exemplify use cases.

* Point to resources to learn plugins development.

title: Plugins category: builds-integration

order: 40

Features in CKEditor are introduced by plugins. In fact, without plugins CKEditor is an empty API with no use. The builds provided with CKEditor 5 are actually a predefined collection of plugins, put together to satisfy specific needs.

Plugins provided by the CKEditor core team are available in npm (and GitHub too) in form of npm packages. A package may contain one or more plugins (e.g. the @ckeditor/ckeditor5-image packages contains several grannular plugins).

Common use cases

Plugins can be pretty much anything. They’re simply code, initialized by the editor if they’re configured to be loaded. They can use the richness of the CKEditor 5 Framework API to enhance the editor or to better integrate it with your application.

Common use cases for plugins are:

  • Editing features, like bold, heading, linking or whichever feature that interacts with the user on the manipulation of the contents.
  • Adding semantic value to the contents, like annotations or accessibility features.
  • Third party services integration, for injecting external resources inside the contents, like videos or social network posts.
  • Handling image upload and image manipulation features.
  • Providing widgets for easy integration with application structured data.
  • Injecting analysis tools that help enhancing the quality of the contents.
  • And other infinite possibilities…

Creating plugins

Creating your own plugins is a straightforward task but it requires good knowledge about a few aspects of the CKEditor 5 development environment. The following resources are recommended as a starting point:

  • {@link TODO Plugin development guide}, in the CKEditor 5 Framework documentation.
  • {@link TODO Creating custom builds}, which is necessary to have your plugin included inside a CKEditor 5 build.

A good understanding about the {@link TODO CKEditor 5 Framework} is also very welcome when it comes to creating plugins.

Using 3rd party plugins

A great way to enhance your builds with additional features is by using plugins created by the community. Such plugins are generally available as npm packages, so a quick search on the “ckeditor5” keyword in npm should work as a starting point.

Once you have plugins to be included, just {@link TODO create a custom build}, configured to include them.