瀏覽代碼

replace with actual code

Andrey Titovskiy 4 年之前
父節點
當前提交
a6ee8d4638
共有 100 個文件被更改,包括 258 次插入3287 次删除
  1. 0 16
      .editorconfig
  2. 0 12
      .eslintrc.js
  3. 0 18
      .gitattributes
  4. 0 33
      .github/ISSUE_TEMPLATE/1-bug-report.md
  5. 0 16
      .github/ISSUE_TEMPLATE/2-feature-request.md
  6. 0 23
      .github/ISSUE_TEMPLATE/3-improvement.md
  7. 0 19
      .github/ISSUE_TEMPLATE/5-task.md
  8. 0 12
      .github/ISSUE_TEMPLATE/6-docs-issue.md
  9. 0 10
      .github/ISSUE_TEMPLATE/config.yml
  10. 0 9
      .github/PULL_REQUEST_TEMPLATE.md
  11. 二進制
      .github/ckeditor 5 classic screeshot.png
  12. 0 33
      .github/workflows/ckeditor5-integrations.yml
  13. 0 31
      .github/workflows/merge-stable.yml
  14. 2 13
      .gitignore
  15. 0 3
      .stylelintrc
  16. 0 34
      .travis.yml
  17. 3 0
      .vscode/settings.json
  18. 140 1560
      CHANGELOG.md
  19. 1 1
      LICENSE.md
  20. 44 819
      README.md
  21. 6 0
      build/ckeditor.js
  22. 1 0
      build/ckeditor.js.map
  23. 1 0
      build/translations/af.js
  24. 1 0
      build/translations/ar.js
  25. 1 0
      build/translations/ast.js
  26. 1 0
      build/translations/az.js
  27. 1 0
      build/translations/bg.js
  28. 1 0
      build/translations/ca.js
  29. 1 0
      build/translations/cs.js
  30. 1 0
      build/translations/da.js
  31. 1 0
      build/translations/de-ch.js
  32. 1 0
      build/translations/de.js
  33. 1 0
      build/translations/el.js
  34. 1 0
      build/translations/en-au.js
  35. 1 0
      build/translations/en-gb.js
  36. 1 0
      build/translations/eo.js
  37. 1 0
      build/translations/es.js
  38. 1 0
      build/translations/et.js
  39. 1 0
      build/translations/eu.js
  40. 1 0
      build/translations/fa.js
  41. 1 0
      build/translations/fi.js
  42. 1 0
      build/translations/fr.js
  43. 1 0
      build/translations/gl.js
  44. 1 0
      build/translations/gu.js
  45. 1 0
      build/translations/he.js
  46. 1 0
      build/translations/hi.js
  47. 1 0
      build/translations/hr.js
  48. 1 0
      build/translations/hu.js
  49. 1 0
      build/translations/id.js
  50. 1 0
      build/translations/it.js
  51. 1 0
      build/translations/ja.js
  52. 1 0
      build/translations/km.js
  53. 1 0
      build/translations/kn.js
  54. 1 0
      build/translations/ko.js
  55. 1 0
      build/translations/ku.js
  56. 1 0
      build/translations/lt.js
  57. 1 0
      build/translations/lv.js
  58. 0 0
      build/translations/ms.js
  59. 1 0
      build/translations/nb.js
  60. 1 0
      build/translations/ne.js
  61. 1 0
      build/translations/nl.js
  62. 1 0
      build/translations/no.js
  63. 1 0
      build/translations/oc.js
  64. 1 0
      build/translations/pl.js
  65. 1 0
      build/translations/pt-br.js
  66. 1 0
      build/translations/pt.js
  67. 1 0
      build/translations/ro.js
  68. 1 0
      build/translations/ru.js
  69. 1 0
      build/translations/si.js
  70. 1 0
      build/translations/sk.js
  71. 1 0
      build/translations/sl.js
  72. 1 0
      build/translations/sq.js
  73. 1 0
      build/translations/sr-latn.js
  74. 1 0
      build/translations/sr.js
  75. 1 0
      build/translations/sv.js
  76. 1 0
      build/translations/th.js
  77. 1 0
      build/translations/tk.js
  78. 1 0
      build/translations/tr.js
  79. 1 0
      build/translations/tt.js
  80. 1 0
      build/translations/ug.js
  81. 1 0
      build/translations/uk.js
  82. 1 0
      build/translations/vi.js
  83. 1 0
      build/translations/zh-cn.js
  84. 1 0
      build/translations/zh.js
  85. 0 0
      docs/_snippets/build-classic-source.html
  86. 0 10
      docs/_snippets/build-classic-source.js
  87. 0 108
      docs/_snippets/builds/saving-data/autosave.html
  88. 0 75
      docs/_snippets/builds/saving-data/autosave.js
  89. 0 0
      docs/_snippets/builds/saving-data/build-autosave-source.html
  90. 0 14
      docs/_snippets/builds/saving-data/build-autosave-source.js
  91. 0 120
      docs/_snippets/builds/saving-data/manualsave.html
  92. 0 112
      docs/_snippets/builds/saving-data/manualsave.js
  93. 0 38
      docs/_snippets/examples/balloon-block-editor.html
  94. 0 21
      docs/_snippets/examples/balloon-block-editor.js
  95. 0 37
      docs/_snippets/examples/balloon-editor.html
  96. 0 21
      docs/_snippets/examples/balloon-editor.js
  97. 0 12
      docs/_snippets/examples/classic-editor-short.html
  98. 0 22
      docs/_snippets/examples/classic-editor-short.js
  99. 0 35
      docs/_snippets/examples/classic-editor.html
  100. 0 0
      docs/_snippets/examples/classic-editor.js

+ 0 - 16
.editorconfig

@@ -1,16 +0,0 @@
-# Configurations to normalize the IDE behavior.
-# http://editorconfig.org/
-
-root = true
-
-[*]
-indent_style = tab
-tab_width = 4
-charset = utf-8
-end_of_line = lf
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[package.json]
-indent_style = space
-tab_width = 2

+ 0 - 12
.eslintrc.js

@@ -1,12 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* eslint-env node */
-
-'use strict';
-
-module.exports = {
-	extends: 'ckeditor5'
-};

+ 0 - 18
.gitattributes

@@ -1,18 +0,0 @@
-*			text=auto
-
-*.htaccess	eol=lf
-*.cgi		eol=lf
-*.sh		eol=lf
-
-*.css		text
-*.htm		text
-*.html		text
-*.js		text
-*.json		text
-*.php		text
-*.txt		text
-*.md		text
-
-*.png		-text
-*.gif		-text
-*.jpg		-text

+ 0 - 33
.github/ISSUE_TEMPLATE/1-bug-report.md

@@ -1,33 +0,0 @@
----
-name: "\U0001F41B Bug report"
-about: Report that something isn't working as expected.
-title: ''
-labels: type:bug
-assignees: ''
-
----
-
-## 📝 Provide detailed reproduction steps (if any)
-
-1. …
-2. …
-3. …
-
-### ✔️ Expected result
-
-_What is the expected result of the above steps?_
-
-### ❌ Actual result
-
-_What is the actual result of the above steps?_
-
-## 📃 Other details
-
-* Browser: …
-* OS: …
-* CKEditor version: …
-* Installed CKEditor plugins: …
-
----
-
-If you'd like to see this fixed sooner, add a 👍 reaction to this post.

+ 0 - 16
.github/ISSUE_TEMPLATE/2-feature-request.md

@@ -1,16 +0,0 @@
----
-name: "⭐ Feature request"
-about: Propose something new.
-title: ''
-labels: type:feature
-assignees: ''
-
----
-
-## 📝 Provide a description of the new feature
-
-_What is the expected behavior of the proposed feature?_
-
----
-
-If you'd like to see this feature implemented, add a 👍 reaction to this post.

+ 0 - 23
.github/ISSUE_TEMPLATE/3-improvement.md

@@ -1,23 +0,0 @@
----
-name: "💅 Improvement"
-about: Improve an existing functionality.
-title: ''
-labels: type:improvement
-assignees: ''
-
----
-
-## 📝 Provide a description of the improvement
-
-_How the feature works now and what you'd like to change_?
-
-## 📃 Other details
-
-* Browser: …
-* OS: …
-* CKEditor version: …
-* Installed CKEditor plugins: …
-
----
-
-If you'd like to see this improvement implemented, add a 👍 reaction to this post.

+ 0 - 19
.github/ISSUE_TEMPLATE/5-task.md

@@ -1,19 +0,0 @@
----
-name: "\U0001F477 Task"
-about: It's neither a bug nor a feature request.
-title: ''
-labels: type:task
-assignees: ''
-
----
-
-## Provide a description of the task
-
-_What steps should be taken to fulfill the task?_
-
-## 📃 Other details
-
-* Browser: …
-* OS: …
-* CKEditor version: …
-* Installed CKEditor plugins: …

+ 0 - 12
.github/ISSUE_TEMPLATE/6-docs-issue.md

@@ -1,12 +0,0 @@
----
-name: "\U0001F4DA Docs issue"
-about: Report an issue related to documentation.
-title: ''
-labels: type:docs
-assignees: ''
-
----
-
-## 📝 Provide a description of requested docs changes
-
-_What is the purpose and what should be changed?_

+ 0 - 10
.github/ISSUE_TEMPLATE/config.yml

@@ -1,10 +0,0 @@
-blank_issues_enabled: false
-contact_links:
-  - name: "\U0001F6A8 Security issue"
-    url: https://ckeditor.com/contact
-    about: |
-      Please **DO NOT report security issues here**,
-      use the contact form at https://ckeditor.com/contact/ instead.
-  - name: "\U0001F4F1 Licensed Customers support"
-    about: Support channel for Licensed Customers.
-    url: https://support.ckeditor.com/hc/en-us/requests/new

+ 0 - 9
.github/PULL_REQUEST_TEMPLATE.md

@@ -1,9 +0,0 @@
-### Suggested merge commit message ([convention](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/git-commit-message-convention.html))
-
-Type: Message. Closes #000.
-
----
-
-### Additional information
-
-_For example – encountered issues, assumptions you had to make, other affected tickets, etc._

二進制
.github/ckeditor 5 classic screeshot.png


+ 0 - 33
.github/workflows/ckeditor5-integrations.yml

@@ -1,33 +0,0 @@
-# This script triggers Travis that verifies whether projects that depend on CKEditor 5 build correctly.
-#
-# In order to integrate the action in a new repository, you need add a few secrets in the new repository.
-#   - INTEGRATION_CI_ORGANIZATION - a name of the organization that keeps the repository where the build should be triggered
-#   - INTEGRATION_CI_REPOSITORY - a name of the repository where the build should be triggered
-#   - INTEGRATION_CI_TRAVIS_TOKEN - an authorization token generated by Travis CLI: `travis --pro token`
-name: CKEditor 5 Integrations
-
-on:
-  push:
-    branches: [ master ]
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Trigger CI
-        env:
-          WORKFLOW_TRIGGER_REPOSITORY: ${{ github.repository }}
-          WORKFLOW_TRIGGER_COMMIT: ${{ github.sha }}
-          WORKFLOW_ORGANIZATION: ${{ secrets.INTEGRATION_CI_ORGANIZATION }}
-          WORKFLOW_REPOSITORY: ${{ secrets.INTEGRATION_CI_REPOSITORY }}
-          WORKFLOW_TRAVIS_TOKEN: ${{ secrets.INTEGRATION_CI_TRAVIS_TOKEN }}
-        run: |
-          export BUILD_MESSAGE="Repository: $WORKFLOW_TRIGGER_REPOSITORY\n\nCommit: https://github.com/$WORKFLOW_TRIGGER_REPOSITORY/commit/$WORKFLOW_TRIGGER_COMMIT."
-          export REQUEST_BODY="{\"request\": { \"branch\": \"master\", \"message\": \"$BUILD_MESSAGE\" } }"
-          curl -s -X POST \
-            -H "Content-Type: application/json" \
-            -H "Accept: application/json" \
-            -H "Travis-API-Version: 3" \
-            -H "Authorization: token $WORKFLOW_TRAVIS_TOKEN" \
-            -d "$REQUEST_BODY" \
-            "https://api.travis-ci.com/repo/$WORKFLOW_ORGANIZATION%2F$WORKFLOW_REPOSITORY/requests"

+ 0 - 31
.github/workflows/merge-stable.yml

@@ -1,31 +0,0 @@
-name: Stable branch auto merge
-
-on:
-  push:
-    branches: [ stable ]
-
-jobs:
-  merge:
-    runs-on: ubuntu-latest
-    steps:
-      # First: merge
-      - uses: octokit/request-action@v2.x
-        id: merge_action
-        with:
-          route: POST /repos/:repository/merges
-          repository: ${{ github.repository }}
-          base: master
-          head: stable
-        env:
-          GITHUB_TOKEN: ${{ secrets.STABLE_MERGE_GITHUB_TOKEN }}
-      # Report errors if any
-      - uses: rtCamp/action-slack-notify@v2.0.2
-        id: error_message_slack
-        name: Slack notification
-        if: ((steps.merge_action.outputs.status != 201) && (steps.merge_action.outputs.status != 204)) || failure()
-        env:
-          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
-          SLACK_CHANNEL: "cke5-ci"
-          SLACK_ICON: https://github.com/ckeditor.png?size=48
-          SLACK_USERNAME: "stable auto merge action"
-          SLACK_MESSAGE: ${{ format('💥 Error, merge call returned code {0}, see {1} for a list of codes with explanation. 💥', steps.merge_action.outputs.status, 'https://developer.github.com/v3/repos/merging/#perform-a-merge' ) }}

+ 2 - 13
.gitignore

@@ -1,15 +1,4 @@
-node_modules/
-build/
-coverage/
-packages/*/node_modules/
-docs/api/output.json
-external/
-lerna-debug.log
 .idea
-.vscode
-
-# Ignore `yarn.lock` - this file might contain info from external repositories.
-yarn.lock
 
-# Ignore `mrgit.json` this file contains info about external repositories.
-mrgit.json
+node_modules/
+yarn-error.log

+ 0 - 3
.stylelintrc

@@ -1,3 +0,0 @@
-{
-	"extends": "stylelint-config-ckeditor5"
-}

+ 0 - 34
.travis.yml

@@ -1,34 +0,0 @@
-sudo: required
-dist: xenial
-addons:
-  chrome: stable
-language: node_js
-services:
-- xvfb
-cache:
-  yarn: true
-node_js:
-- "12"
-cache:
-- node_modules
-before_install:
-- export START_TIME=$( date +%s )
-- export COVERALLS_SERVICE_JOB_ID=$( TRAVIS_JOB_ID )
-- export COVERALLS_SERVICE_NAME="CKEditor5 code coverage"
-- npm i -g yarn
-install:
-- yarn install
-script:
-- node ./scripts/continuous-integration-script.js
-- yarn run lint
-- yarn run stylelint
-- yarn run docs --strict
-- 'if [ $TRAVIS_TEST_RESULT -eq 0 ]; then
-    travis_wait 30 yarn run docs:build-and-publish-nightly;
-  fi'
-after_script:
-- export END_TIME=$( date +%s )
-- ckeditor5-dev-tests-notify-travis-status
-env:
-  global:
-  - secure: RO140EQDHmEOPJPikk8eCY5IdHpnEKGm41p5U1ewAbeZv1DpCG+rSumR2JdYl75kFAaZvCSm1NuVMM+kmYd+/z+LQbKj7QH5G/UHNho3H89blIU6WlJhT0YR5vclm9rvnEvOtxnfODca1Qrw+CaCoJks2o4VYbJB7mOBVNsh7Bc=

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+    "git.ignoreLimitWarning": true
+}

File diff suppressed because it is too large
+ 140 - 1560
CHANGELOG.md


+ 1 - 1
LICENSE.md

@@ -1,7 +1,7 @@
 Software License Agreement
 ==========================
 
-**CKEditor 5** – https://github.com/ckeditor/ckeditor5 <br>
+**CKEditor 5 classic editor build** – https://github.com/ckeditor/ckeditor5-build-classic <br>
 Copyright (c) 2003-2020, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
 
 Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).

+ 44 - 819
README.md

@@ -1,844 +1,69 @@
-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)
-===================================
+CKEditor 5 classic editor build
+========================================
 
-[![npm version](https://badge.fury.io/js/ckeditor5.svg)](https://www.npmjs.com/package/ckeditor5)
+[![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-build-classic.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic)
+[![Dependency Status](https://david-dm.org/ckeditor/ckeditor5-build-classic/status.svg)](https://david-dm.org/ckeditor/ckeditor5-build-classic)
+[![devDependency Status](https://david-dm.org/ckeditor/ckeditor5-build-classic/dev-status.svg)](https://david-dm.org/ckeditor/ckeditor5-build-classic?type=dev)
 
-[![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)
+The classic editor build for CKEditor 5. Read more about the [classic editor build](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html#classic-editor) and see the [demo](https://ckeditor.com/docs/ckeditor5/latest/examples/builds/classic-editor.html).
 
-[![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)
+![CKEditor 5 classic editor build screenshot](https://c.cksource.com/a/1/img/npm/ckeditor5-build-classic.png)
 
-A set of ready-to-use rich text editors created with a powerful framework. Made with real-time collaborative editing in mind.
+## Documentation
 
-![CKEditor 5 Classic rich text editor build screenshot](https://c.cksource.com/a/1/img/npm/ckeditor5-build-classic.png)
+See:
 
-## 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)
+* [Installation](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installation.html) for how to install this package and what it contains.
+* [Basic API](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/basic-api.html) for how to create an editor and interact with it.
+* [Configuration](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/configuration.html) for how to configure the editor.
+* [Creating custom builds](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/development/custom-builds.html) for how to customize the build (configure and rebuild the editor bundle).
 
 ## 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 `<script>` tag.
-2. Call the static `create()` method to create the editor.
+First, install the build from npm:
 
-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"></script>
+```bash
+npm install --save @ckeditor/ckeditor5-build-classic
 ```
 
-Call the [`ClassicEditor.create()`](https://ckeditor.com/docs/ckeditor5/latest/api/module_editor-classic_classiceditor-ClassicEditor.html#static-function-create) method:
+And use it in your website:
 
 ```html
+<div id="editor">
+	<p>This is the editor content.</p>
+</div>
+<script src="./node_modules/@ckeditor/ckeditor5-build-classic/build/ckeditor.js"></script>
 <script>
-    ClassicEditor
-        .create( document.querySelector( '#editor' ) )
-        .catch( error => {
-            console.error( error );
-        } );
+	ClassicEditor
+		.create( document.querySelector( '#editor' ) )
+		.then( editor => {
+			window.editor = editor;
+		} )
+		.catch( error => {
+			console.error( 'There was a problem initializing the editor.', error );
+		} );
 </script>
 ```
 
-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 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, [monorepo](https://en.wikipedia.org/wiki/Monorepo) 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
-
-<table>
-<thead>
-	<tr>
-		<th width="30%">Name</th>
-		<th width="15%">Version</th>
-		<th width="55%">Description</th>
-	</tr>
-</thead>
-<tbody>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-engine"><code>@ckeditor/ckeditor5-engine</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-engine"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-engine.svg" alt="@ckeditor/ckeditor5-engine npm package badge"></a>
-	</td>
-	<td>
-		The editing engine.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-core"><code>@ckeditor/ckeditor5-core</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-core"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-core.svg" alt="@ckeditor/ckeditor5-core npm package badge"></a>
-	</td>
-	<td>
-		The core editor architecture.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-ui"><code>@ckeditor/ckeditor5-ui</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-ui"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-ui.svg" alt="@ckeditor/ckeditor5-ui npm package badge"></a>
-	</td>
-	<td>
-		The editor UI library.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-utils"><code>@ckeditor/ckeditor5-utils</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-utils"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-utils.svg" alt="@ckeditor/ckeditor5-utils npm package badge"></a>
-	</td>
-	<td>
-		The editor utilities library.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-upload"><code>@ckeditor/ckeditor5-upload</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-upload"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-upload.svg" alt="@ckeditor/ckeditor5-upload npm package badge"></a>
-	</td>
-	<td>
-		The file upload utilities.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-widget"><code>@ckeditor/ckeditor5-widget</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-widget"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-widget.svg" alt="@ckeditor/ckeditor5-widget npm package badge"></a>
-	</td>
-	<td>
-		The widget API.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-watchdog"><code>@ckeditor/ckeditor5-watchdog</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-watchdog"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-watchdog.svg" alt="@ckeditor/ckeditor5-watchdog npm package badge"></a>
-	</td>
-	<td>
-		The watchdog feature, which keeps CKEditor 5 editors running.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-cloud-services"><code>@ckeditor/ckeditor5-cloud-services</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-cloud-services"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-cloud-services.svg" alt="@ckeditor/ckeditor5-cloud-services npm package badge"></a>
-	</td>
-	<td>
-		CKEditor 5's Cloud Services integration layer.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor-cloud-services-core"><code>@ckeditor/ckeditor-cloud-services-core</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor-cloud-services-core"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor-cloud-services-core.svg" alt="@ckeditor/ckeditor-cloud-services-core npm package badge"></a>
-	</td>
-	<td>
-		CKEditor Cloud Services integration utils.
-	</td>
-</tr>
-
-</tbody>
-</table>
-
-### Builds
-
-<table>
-<thead>
-	<tr>
-		<th width="30%">Name</th>
-		<th width="15%">Version</th>
-		<th width="55%">Description</th>
-	</tr>
-</thead>
-<tbody>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-build-classic"><code>@ckeditor/ckeditor5-build-classic</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-build-classic.svg" alt="@ckeditor/ckeditor5-build-classic npm package badge"></a>
-	</td>
-	<td>
-		The classic editor build.
-	</td>
-</tr>
+Or in your JavaScript application:
 
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-build-inline"><code>@ckeditor/ckeditor5-build-inline</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-build-inline"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-build-inline.svg" alt="@ckeditor/ckeditor5-build-inline npm package badge"></a>
-	</td>
-	<td>
-		The inline editor build.
-	</td>
-</tr>
+```js
+import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
 
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-build-balloon"><code>@ckeditor/ckeditor5-build-balloon</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-build-balloon.svg" alt="@ckeditor/ckeditor5-build-balloon npm package badge"></a>
-	</td>
-	<td>
-		The balloon editor (Medium-like) build.
-	</td>
-</tr>
+// Or using the CommonJS version:
+// const ClassicEditor = require( '@ckeditor/ckeditor5-build-classic' );
 
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-build-balloon-block"><code>@ckeditor/ckeditor5-build-balloon-block</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon-block"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-build-balloon-block.svg" alt="@ckeditor/ckeditor5-build-balloon-block npm package badge"></a>
-	</td>
-	<td>
-		The balloon editor with a block toolbar (Slack–like) build.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-build-decoupled-document"><code>@ckeditor/ckeditor5-build-decoupled-document</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-build-decoupled-document"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-build-decoupled-document.svg" alt="@ckeditor/ckeditor5-build-decoupled-document npm package badge"></a>
-	</td>
-	<td>
-		The document editor build, featuring the decoupled UI editor implementation.
-	</td>
-</tr>
-
-</tbody>
-</table>
-
-### Features
-
-<table>
-<thead>
-	<tr>
-		<th width="30%">Name</th>
-		<th width="15%">Version</th>
-		<th width="55%">Description</th>
-	</tr>
-</thead>
-<tbody>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-adapter-ckfinder"><code>@ckeditor/ckeditor5-adapter-ckfinder</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-adapter-ckfinder"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-adapter-ckfinder.svg" alt="@ckeditor/ckeditor5-adapter-ckfinder npm package badge"></a>
-	</td>
-	<td>
-		The <a href="https://ckeditor.com/ckfinder/">CKFinder</a> adapter for features which require upload capabilities (e.g. image upload).
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-alignment"><code>@ckeditor/ckeditor5-alignment</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-alignment"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-alignment.svg" alt="@ckeditor/ckeditor5-alignment npm package badge"></a>
-	</td>
-	<td>
-		The text alignment feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-autoformat"><code>@ckeditor/ckeditor5-autoformat</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-autoformat"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-autoformat.svg" alt="@ckeditor/ckeditor5-autoformat npm package badge"></a>
-	</td>
-	<td>
-		The autoformatting feature. Replaces predefined characters with a corresponding format (e.g. <code>**foo**</code> becomes bold <code>&lt;strong&gt;foo&lt;/strong&gt;</code>).
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-autosave"><code>@ckeditor/ckeditor5-autosave</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-autosave"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-autosave.svg" alt="@ckeditor/ckeditor5-autosave npm package badge"></a>
-	</td>
-	<td>
-		The autosave feature. Makes it easy to automatically save the data to the backend.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-basic-styles"><code>@ckeditor/ckeditor5-basic-styles</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-basic-styles"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-basic-styles.svg" alt="@ckeditor/ckeditor5-basic-styles npm package badge"></a>
-	</td>
-	<td>
-		The bold, italic, underline and code features.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-block-quote"><code>@ckeditor/ckeditor5-block-quote</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-block-quote"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-block-quote.svg" alt="@ckeditor/ckeditor5-block-quote npm package badge"></a>
-	</td>
-	<td>
-		The block quote feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-ckfinder"><code>@ckeditor/ckeditor5-ckfinder</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-ckfinder"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-ckfinder.svg" alt="@ckeditor/ckeditor5-ckfinder npm package badge"></a>
-	</td>
-	<td>
-		The <a href="https://ckeditor.com/ckfinder/">CKFinder</a> file browser integration.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-clipboard"><code>@ckeditor/ckeditor5-clipboard</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-clipboard"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-clipboard.svg" alt="@ckeditor/ckeditor5-clipboard npm package badge"></a>
-	</td>
-	<td>
-		The clipboard integration.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-code-block"><code>@ckeditor/ckeditor5-code-block</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-code-block"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-code-block.svg" alt="@ckeditor/ckeditor5-code-block npm package badge"></a>
-	</td>
-	<td>
-		The code block feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-enter"><code>@ckeditor/ckeditor5-enter</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-enter"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-enter.svg" alt="@ckeditor/ckeditor5-enter npm package badge"></a>
-	</td>
-	<td>
-		The <kbd>Enter</kbd> key feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-easy-image"><code>@ckeditor/ckeditor5-easy-image</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-easy-image"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-easy-image.svg" alt="@ckeditor/ckeditor5-easy-image npm package badge"></a>
-	</td>
-	<td>
-		Easy Image with CKEditor Cloud Services feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-font"><code>@ckeditor/ckeditor5-font</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-font"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-font.svg" alt="@ckeditor/ckeditor5-font npm package badge"></a>
-	</td>
-	<td>
-		The font size and font family features.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-heading"><code>@ckeditor/ckeditor5-heading</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-heading"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-heading.svg" alt="@ckeditor/ckeditor5-heading npm package badge"></a>
-	</td>
-	<td>
-		The heading feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-highlight"><code>@ckeditor/ckeditor5-highlight</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-highlight.svg" alt="@ckeditor/ckeditor5-highlight npm package badge"></a>
-	</td>
-	<td>
-		The highlight feature (markers and pens).
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-horizontal-line"><code>@ckeditor/ckeditor5-horizontal-line</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-horizontal-line"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-horizontal-line.svg" alt="@ckeditor/ckeditor5-horizontal-line npm package badge"></a>
-	</td>
-	<td>
-		The horizontal rule feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-html-embed"><code>@ckeditor/ckeditor5-html-embed</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-html-embed"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-html-embed.svg" alt="@ckeditor/ckeditor5-html-embed npm package badge"></a>
-	</td>
-	<td>
-		The HTML embed feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-image"><code>@ckeditor/ckeditor5-image</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-image"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-image.svg" alt="@ckeditor/ckeditor5-image npm package badge"></a>
-	</td>
-	<td>
-		The image feature. Supports image styles, captioning, upload, resizing, and more.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-indent"><code>@ckeditor/ckeditor5-indent</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-indent"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-indent.svg" alt="@ckeditor/ckeditor5-indent npm package badge"></a>
-	</td>
-	<td>
-		The indentation (of lists and blocks) feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-link"><code>@ckeditor/ckeditor5-link</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-link"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-link.svg" alt="@ckeditor/ckeditor5-link npm package badge"></a>
-	</td>
-	<td>
-		The link feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-list"><code>@ckeditor/ckeditor5-list</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-list"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-list.svg" alt="@ckeditor/ckeditor5-list npm package badge"></a>
-	</td>
-	<td>
-		The numbered and bulleted lists feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-markdown-gfm"><code>@ckeditor/ckeditor5-markdown-gfm</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-markdown-gfm.svg" alt="@ckeditor/ckeditor5-markdown-gfm npm package badge"></a>
-	</td>
-	<td>
-		The GitHub-flavored Markdown data processor.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-media-embed"><code>@ckeditor/ckeditor5-media-embed</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-media-embed.svg" alt="@ckeditor/ckeditor5-media-embed npm package badge"></a>
-	</td>
-	<td>
-		The media embed feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-mention"><code>@ckeditor/ckeditor5-mention</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-mention"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-mention.svg" alt="@ckeditor/ckeditor5-mention npm package badge"></a>
-	</td>
-	<td>
-		The mention feature (autocomplete `@mentions`, `#tags`, etc.).
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-page-break"><code>@ckeditor/ckeditor5-page-break</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-page-break"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-page-break.svg" alt="@ckeditor/ckeditor5-page-break npm package badge"></a>
-	</td>
-	<td>
-		The page break feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-paragraph"><code>@ckeditor/ckeditor5-paragraph</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-paragraph"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-paragraph.svg" alt="@ckeditor/ckeditor5-paragraph npm package badge"></a>
-	</td>
-	<td>
-		The paragraph feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-paste-from-office"><code>@ckeditor/ckeditor5-paste-from-office</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-paste-from-office.svg" alt="@ckeditor/ckeditor5-paste-from-office npm package badge"></a>
-	</td>
-	<td>
-		The Paste from Office (Word, Excel, Google Docs, etc.) plugin.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-remove-format"><code>@ckeditor/ckeditor5-remove-format</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-remove-format"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-remove-format.svg" alt="@ckeditor/ckeditor5-remove-format npm package badge"></a>
-	</td>
-	<td>
-		The remove format feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-restricted-editing"><code>@ckeditor/ckeditor5-restricted-editing</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-restricted-editing"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-restricted-editing.svg" alt="@ckeditor/ckeditor5-restricted-editing npm package badge"></a>
-	</td>
-	<td>
-		The restricted editing feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-select-all"><code>@ckeditor/ckeditor5-select-all</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-select-all.svg" alt="@ckeditor/ckeditor5-select-all npm package badge"></a>
-	</td>
-	<td>
-		The "select all" feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-special-characters"><code>@ckeditor/ckeditor5-special-characters</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-special-characters"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-special-characters.svg" alt="@ckeditor/ckeditor5-special-characters npm package badge"></a>
-	</td>
-	<td>
-		The special characters feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-table"><code>@ckeditor/ckeditor5-table</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-table"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-table.svg" alt="@ckeditor/ckeditor5-table npm package badge"></a>
-	</td>
-	<td>
-		The table feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-typing"><code>@ckeditor/ckeditor5-typing</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-typing"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-typing.svg" alt="@ckeditor/ckeditor5-typing npm package badge"></a>
-	</td>
-	<td>
-		The typing and deleting features.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-undo"><code>@ckeditor/ckeditor5-undo</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-undo"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-undo.svg" alt="@ckeditor/ckeditor5-undo npm package badge"></a>
-	</td>
-	<td>
-		The undo feature.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-word-count"><code>@ckeditor/ckeditor5-word-count</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-word-count"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-word-count.svg" alt="@ckeditor/ckeditor5-word-count npm package badge"></a>
-	</td>
-	<td>
-		The word count feature.
-	</td>
-</tr>
-
-</tbody>
-</table>
-
-### Editors
-
-<table>
-<thead>
-	<tr>
-		<th width="30%">Name</th>
-		<th width="15%">Version</th>
-		<th width="55%">Description</th>
-	</tr>
-</thead>
-<tbody>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-editor-classic"><code>@ckeditor/ckeditor5-editor-classic</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-editor-classic.svg" alt="@ckeditor/ckeditor5-editor-classic npm package badge"></a>
-	</td>
-	<td>
-		The classic editor implementation.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-editor-inline"><code>@ckeditor/ckeditor5-editor-inline</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-editor-inline.svg" alt="@ckeditor/ckeditor5-editor-inline npm package badge"></a>
-	</td>
-	<td>
-		The inline editor implementation.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-editor-balloon"><code>@ckeditor/ckeditor5-editor-balloon</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-balloon"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-editor-balloon.svg" alt="@ckeditor/ckeditor5-editor-balloon npm package badge"></a>
-	</td>
-	<td>
-		The balloon editor (Medium-like) implementation.
-	</td>
-</tr>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-editor-decoupled"><code>@ckeditor/ckeditor5-editor-decoupled</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-decoupled"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-editor-decoupled.svg" alt="@ckeditor/ckeditor5-editor-decoupled npm package badge"></a>
-	</td>
-	<td>
-		The editor implementation with a decoupled UI.
-	</td>
-</tr>
-
-</tbody>
-</table>
-
-### Themes
-
-<table>
-<thead>
-	<tr>
-		<th width="30%">Name</th>
-		<th width="15%">Version</th>
-		<th width="55%">Description</th>
-	</tr>
-</thead>
-<tbody>
-
-<tr>
-	<td>
-		<a href="https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-theme-lark"><code>@ckeditor/ckeditor5-theme-lark</code></a>
-	</td>
-	<td>
-		<a href="https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark"><img src="https://img.shields.io/npm/v/@ckeditor/ckeditor5-theme-lark.svg" alt="@ckeditor/ckeditor5-theme-lark npm package badge"></a>
-	</td>
-	<td>
-		The Lark theme.
-	</td>
-</tr>
+ClassicEditor
+	.create( document.querySelector( '#editor' ) )
+	.then( editor => {
+		window.editor = editor;
+	} )
+	.catch( error => {
+		console.error( 'There was a problem initializing the editor.', error );
+	} );
+```
 
-</tbody>
-</table>
+**Note:** If you are planning to integrate CKEditor 5 deep into your application, it is actually more convenient and recommended to install and import the source modules directly (like it happens in `ckeditor.js`). Read more in the [Advanced setup guide](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/advanced-setup.html).
 
 ## License
 

File diff suppressed because it is too large
+ 6 - 0
build/ckeditor.js


File diff suppressed because it is too large
+ 1 - 0
build/ckeditor.js.map


File diff suppressed because it is too large
+ 1 - 0
build/translations/af.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ar.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ast.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/az.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/bg.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ca.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/cs.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/da.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/de-ch.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/de.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/el.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/en-au.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/en-gb.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/eo.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/es.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/et.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/eu.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/fa.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/fi.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/fr.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/gl.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/gu.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/he.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/hi.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/hr.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/hu.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/id.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/it.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ja.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/km.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/kn.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ko.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ku.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/lt.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/lv.js


packages/ckeditor5-build-balloon-block/build/translations/ms.js → build/translations/ms.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/nb.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ne.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/nl.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/no.js


+ 1 - 0
build/translations/oc.js

@@ -0,0 +1 @@
+!function(r){const i=r.oc=r.oc||{};i.dictionary=Object.assign(i.dictionary||{},{Bold:"Gras",Cancel:"Anullar",Italic:"Italica","Remove color":"",Save:"Enregistrar",Strikethrough:"",Subscript:"",Superscript:"",Underline:""}),i.getPluralForm=function(r){return r>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

File diff suppressed because it is too large
+ 1 - 0
build/translations/pl.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/pt-br.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/pt.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ro.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/ru.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/si.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sk.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sl.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sq.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sr-latn.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sr.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/sv.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/th.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/tk.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/tr.js


+ 1 - 0
build/translations/tt.js

@@ -0,0 +1 @@
+!function(t){const n=t.tt=t.tt||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Калын",Cancel:"",Italic:"",Redo:"Кабатла","Remove color":"",Save:"Сакла",Strikethrough:"",Subscript:"",Superscript:"",Underline:"",Undo:""}),n.getPluralForm=function(t){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

File diff suppressed because it is too large
+ 1 - 0
build/translations/ug.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/uk.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/vi.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/zh-cn.js


File diff suppressed because it is too large
+ 1 - 0
build/translations/zh.js


+ 0 - 0
docs/_snippets/build-classic-source.html


+ 0 - 10
docs/_snippets/build-classic-source.js

@@ -1,10 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals window */
-
-import ClassicEditor from '@ckeditor/ckeditor5-build-classic/src/ckeditor';
-
-window.ClassicEditor = ClassicEditor;

+ 0 - 108
docs/_snippets/builds/saving-data/autosave.html

@@ -1,108 +0,0 @@
-<div id="snippet-autosave">
-	<p>Type some text to test the <a href="#autosave-feature">autosave</a> feature.</p>
-</div>
-
-<div id="snippet-autosave-header">
-	<div id="snippet-autosave-status">
-		<div id="snippet-autosave-status_label">Status:</div>
-		<div id="snippet-autosave-status_spinner">
-			<span id="snippet-autosave-status_spinner-label"></span>
-			<span id="snippet-autosave-status_spinner-loader"></span>
-		</div>
-	</div>
-
-	<div id="snippet-autosave-server">
-		<div id="snippet-autosave-server_label">HTTP server lag (ms):</div>
-		<input id="snippet-autosave-lag" type="number" value="500" step="100" min="0" max="9000">
-	</div>
-</div>
-
-<p>Server data:</p>
-
-<pre><code id="snippet-autosave-console">Type some text to test the &#x3C;a href=&#x22;#autosave-feature&#x22;&#x3E;autosave&#x3C;/a&#x3E; feature.</code></pre>
-
-<style>
-	#snippet-autosave-header {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		background: var(--ck-color-toolbar-background);
-		border: 1px solid var(--ck-color-toolbar-border);
-		padding: 10px;
-		border-radius: var(--ck-border-radius);
-		margin-top: -1.5em;
-		margin-bottom: 1.5em;
-		border-top: 0;
-		border-top-left-radius: 0;
-		border-top-right-radius: 0;
-	}
-
-	#snippet-autosave-status_spinner{
-		display: flex;
-		align-items: center;
-		position: relative;
-	}
-	#snippet-autosave-status_spinner-label {
-		position: relative;
-	}
-
-	#snippet-autosave-status_spinner-label::after {
-		content: 'Saved!';
-		color: green;
-		display: inline-block;
-		margin-right: var(--ck-spacing-medium);
-	}
-
-	/* During "Saving" display spinner and change content of label. */
-	#snippet-autosave-status.busy #snippet-autosave-status_spinner-label::after  {
-		content: 'Saving...';
-		color: red;
-	}
-
-	#snippet-autosave-status.busy #snippet-autosave-status_spinner-loader {
-		display: block;
-		width: 16px;
-		height: 16px;
-		border-radius: 50%;
-		border-top: 3px solid hsl(0, 0%, 70%);
-		border-right: 2px solid transparent;
-		animation: autosave-status-spinner 1s linear infinite;
-	}
-
-	#snippet-autosave-status,
-	#snippet-autosave-server {
-		display: flex;
-		align-items: center;
-	}
-
-	#snippet-autosave-server_label,
-	#snippet-autosave-status_label {
-		font-weight: bold;
-		margin-right: var(--ck-spacing-medium);
-	}
-
-	#snippet-autosave + .ck.ck-editor .ck-editor__editable {
-		border-bottom-right-radius: 0;
-		border-bottom-left-radius: 0;
-	}
-
-	#snippet-autosave-lag {
-		padding: 4px;
-	}
-
-	#snippet-autosave-console {
-		max-height: 300px;
-		overflow: auto;
-		white-space: normal;
-		background: #2b2c26;
-		transition: background-color 500ms;
-	}
-
-	#snippet-autosave-console.updated {
-		background: green;
-	}
-
-	@keyframes autosave-status-spinner {
-		to { transform: rotate( 360deg ); }
-	}
-</style>

+ 0 - 75
docs/_snippets/builds/saving-data/autosave.js

@@ -1,75 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals ClassicEditor, console, window, document, setTimeout */
-
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-let HTTP_SERVER_LAG = 500;
-
-document.querySelector( '#snippet-autosave-lag' ).addEventListener( 'change', evt => {
-	HTTP_SERVER_LAG = evt.target.value;
-} );
-
-ClassicEditor
-	.create( document.querySelector( '#snippet-autosave' ), {
-		cloudServices: CS_CONFIG,
-		toolbar: {
-			viewportTopOffset: window.getViewportTopOffsetConfig()
-		},
-		autosave: {
-			save( editor ) {
-				return saveData( editor.getData() );
-			}
-		}
-	} )
-	.then( editor => {
-		window.editor = editor;
-
-		displayStatus( editor );
-	} )
-	.catch( err => {
-		console.error( err.stack );
-	} );
-
-function saveData( data ) {
-	return new Promise( resolve => {
-		// Fake HTTP server's lag.
-		setTimeout( () => {
-			updateServerDataConsole( data );
-
-			resolve();
-		}, HTTP_SERVER_LAG );
-	} );
-}
-
-function displayStatus( editor ) {
-	const pendingActions = editor.plugins.get( 'PendingActions' );
-	const statusIndicator = document.querySelector( '#snippet-autosave-status' );
-
-	pendingActions.on( 'change:hasAny', ( evt, propertyName, newValue ) => {
-		if ( newValue ) {
-			statusIndicator.classList.add( 'busy' );
-		} else {
-			statusIndicator.classList.remove( 'busy' );
-		}
-	} );
-}
-
-let consoleUpdates = 0;
-
-function updateServerDataConsole( msg ) {
-	const console = document.querySelector( '#snippet-autosave-console' );
-
-	consoleUpdates++;
-	console.classList.add( 'updated' );
-	console.textContent = msg;
-
-	setTimeout( () => {
-		if ( --consoleUpdates == 0 ) {
-			console.classList.remove( 'updated' );
-		}
-	}, 500 );
-}

+ 0 - 0
docs/_snippets/builds/saving-data/build-autosave-source.html


+ 0 - 14
docs/_snippets/builds/saving-data/build-autosave-source.js

@@ -1,14 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals window */
-
-import ClassicEditor from '@ckeditor/ckeditor5-build-classic/src/ckeditor';
-
-import Autosave from '@ckeditor/ckeditor5-autosave/src/autosave';
-
-ClassicEditor.builtinPlugins.push( Autosave );
-
-window.ClassicEditor = ClassicEditor;

+ 0 - 120
docs/_snippets/builds/saving-data/manualsave.html

@@ -1,120 +0,0 @@
-<div id="snippet-manualsave">
-	<p>Change the content of this editor, then save it on the server.</p>
-</div>
-
-<div id="snippet-manualsave-header">
-	<div id="snippet-manualsave-server">
-		<div id="snippet-manualsave-server_label">HTTP server lag (ms):</div>
-		<input id="snippet-manualsave-lag" type="number" value="500" step="100" min="0" max="9000">
-	</div>
-	<div id="snippet-manualsave-container">
-		<span id="snippet-manualsave-spinner"></span>
-		<input id="snippet-manualsave-save" type="submit" value="Save">
-	</div>
-</div>
-
-<p>Server data:</p>
-
-<pre><code id="snippet-manualsave-console">&#x3C;p&#x3E;Change the content of this editor, then save it on the server.&#x3C;/p&#x3E;</code></pre>
-
-<style>
-	#snippet-manualsave-header {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		background: var(--ck-color-toolbar-background);
-		border: 1px solid var(--ck-color-toolbar-border);
-		padding: 10px;
-		border-radius: var(--ck-border-radius);
-		margin-top: -1.5em;
-		margin-bottom: 1.5em;
-		border-top: 0;
-		border-top-left-radius: 0;
-		border-top-right-radius: 0;
-	}
-
-	#snippet-manualsave-server,
-	#snippet-manualsave-submit {
-		display: flex;
-		align-items: center;
-	}
-
-	#snippet-manualsave-server_label,
-	#snippet-manualsave-status_label {
-		font-weight: bold;
-		margin-right: var(--ck-spacing-medium);
-	}
-
-	#snippet-manual + .ck.ck-editor .ck-editor__editable {
-		border-bottom-right-radius: 0;
-		border-bottom-left-radius: 0;
-	}
-
-	#snippet-manualsave-lag {
-		padding: 4px;
-	}
-
-	#snippet-manualsave-save {
-		color: #fff;
-		background: hsl( 88, 73%, 39% );
-		opacity: 0.5;
-		padding: 4px 20px;
-		display: inline-block;
-		border: 0;
-		border-radius: 2px;
-		font-weight: bold;
-		outline: none;
-		transition: 300ms ease background;
-		box-shadow: 0 2px 0 rgb(68, 117, 10);
-	}
-
-	#snippet-manualsave-save:hover {
-		background: hsl( 88, 73%, 42% );
-	}
-
-	#snippet-manualsave-save:active,
-	#snippet-manualsave-save:focus {
-		box-shadow: 0 1px 0 rgb(68, 117, 10);
-	}
-
-	#snippet-manualsave-container.active #snippet-manualsave-save {
-		cursor: pointer;
-		opacity: 1;
-	}
-
-	#snippet-manualsave-container.saving #snippet-manualsave-save {
-		background: hsl( 88, 73%, 34% );
-	}
-
-	#snippet-manualsave-console {
-		max-height: 300px;
-		overflow: auto;
-		white-space: normal;
-		background: #2b2c26;
-		transition: background-color 500ms;
-	}
-
-	#snippet-manualsave-console.updated {
-		background: green;
-	}
-
-	#snippet-manualsave-spinner {
-		display: none;
-	}
-
-	#snippet-manualsave-container.saving #snippet-manualsave-spinner {
-		display: inline-block;
-		vertical-align: middle;
-		margin-right: var(--ck-spacing-medium);
-		width: 16px;
-		height: 16px;
-		border-radius: 50%;
-		border-top: 3px solid hsl(0, 0%, 70%);
-		border-right: 2px solid transparent;
-		animation: manualsave-spinner 1s linear infinite;
-	}
-
-	@keyframes manualsave-spinner {
-		to { transform: rotate( 360deg ); }
-	}
-</style>

+ 0 - 112
docs/_snippets/builds/saving-data/manualsave.js

@@ -1,112 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals ClassicEditor, console, window, document, setTimeout */
-
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-let HTTP_SERVER_LAG = 500;
-let isDirty = false;
-
-document.querySelector( '#snippet-manualsave-lag' ).addEventListener( 'change', evt => {
-	HTTP_SERVER_LAG = evt.target.value;
-} );
-
-ClassicEditor
-	.create( document.querySelector( '#snippet-manualsave' ), {
-		cloudServices: CS_CONFIG,
-		toolbar: {
-			viewportTopOffset: window.getViewportTopOffsetConfig()
-		}
-	} )
-	.then( editor => {
-		window.editor = editor;
-
-		handleStatusChanges( editor );
-		handleSaveButton( editor );
-		handleBeforeunload( editor );
-	} )
-	.catch( err => {
-		console.error( err.stack );
-	} );
-
-// Handle clicking the "Save" button.
-function handleSaveButton( editor ) {
-	const saveButton = document.querySelector( '#snippet-manualsave-save' );
-	const pendingActions = editor.plugins.get( 'PendingActions' );
-
-	saveButton.addEventListener( 'click', evt => {
-		const data = editor.getData();
-		const action = pendingActions.add( 'Saving in progress.' );
-
-		evt.preventDefault();
-
-		// Fake HTTP server's lag.
-		setTimeout( () => {
-			updateServerDataConsole( data );
-
-			pendingActions.remove( action );
-
-			// Reset isDirty only if data didn't change in the meantime.
-			if ( data == editor.getData() ) {
-				isDirty = false;
-			}
-
-			updateStatus( editor );
-		}, HTTP_SERVER_LAG );
-	} );
-}
-
-function handleStatusChanges( editor ) {
-	const pendingActions = editor.plugins.get( 'PendingActions' );
-
-	pendingActions.on( 'change:hasAny', () => updateStatus( editor ) );
-
-	editor.model.document.on( 'change:data', () => {
-		isDirty = true;
-
-		updateStatus( editor );
-	} );
-}
-
-function handleBeforeunload( editor ) {
-	window.addEventListener( 'beforeunload', evt => {
-		if ( editor.plugins.get( 'PendingActions' ).hasAny ) {
-			evt.preventDefault();
-		}
-	} );
-}
-
-function updateStatus( editor ) {
-	const buttonContainer = document.querySelector( '#snippet-manualsave-container' );
-
-	if ( isDirty ) {
-		buttonContainer.classList.add( 'active' );
-	} else {
-		buttonContainer.classList.remove( 'active' );
-	}
-
-	if ( editor.plugins.get( 'PendingActions' ).hasAny ) {
-		buttonContainer.classList.add( 'saving' );
-	} else {
-		buttonContainer.classList.remove( 'saving' );
-	}
-}
-
-let consoleUpdates = 0;
-
-function updateServerDataConsole( msg ) {
-	const console = document.querySelector( '#snippet-manualsave-console' );
-
-	consoleUpdates++;
-	console.classList.add( 'updated' );
-	console.textContent = msg;
-
-	setTimeout( () => {
-		if ( --consoleUpdates == 0 ) {
-			console.classList.remove( 'updated' );
-		}
-	}, 500 );
-}

+ 0 - 38
docs/_snippets/examples/balloon-block-editor.html

@@ -1,38 +0,0 @@
-<div id="snippet-balloon-block-editor">
-	<h2>Taj Mahal: A breathtaking ode to love</h2>
-
-	<figure class="image image-style-side" height="400">
-		<img src="%BASE_PATH%/assets/img/tajmahal.jpg" alt="Taj Mahal illustration.">
-		<figcaption>Taj Mahal with its poetic white marble tomb</figcaption>
-	</figure>
-
-	<p>No trip to India is complete without visiting this spectacular monument, <a href="https://en.wikipedia.org/wiki/New7Wonders_of_the_World"><strong>counted among the Seven Wonders of the World</strong></a>.
-	</p>
-
-	<p>Tourists frequently admit that Taj Mahal "simply cannot be described with words". And that’s probably true. The more you try the more speechless you become. Words give only a semblance of truth. The real truth about its beauty is revealed when you adore <strong>different shades of “Taj” depending on the time of the day</strong> or when you admire the exquisite inlay work in different corners of the façade.</p>
-
-	<h3>Masterpiece of the world’s heritage</h3>
-
-	<p>Taj Mahal is a mausoleum built in Agra between 1631 and 1648 by Emperor Shah Jahan <strong>in the memory of his beloved wife</strong>, Mumtaz Mahal, whose body lies there. It took 20 000 workers to complete and the excellence of this building is visible in every brick.</p>
-
-	<p>In 1983, Taj Mahal was appointed <a href="https://en.wikipedia.org/wiki/World_Heritage_Site">UNESCO World Heritage Site</a> for being "the jewel of Muslim art in India and one of the universally admired masterpieces of the world's heritage".</p>
-
-	<p>If you like having a methodology for visiting historical places, here are the four elements on which we recommend to focus your attention:</p>
-
-	<ul>
-		<li>The tomb</li>
-		<li>The Decorations</li>
-		<li>The Garden</li>
-		<li>The Outlying buildings</li>
-	</ul>
-
-	<p>The tomb is what immediately catches your eyesight. The <strong>white and soft marble</strong> embroidered with stones leaves you totally enchanted.</p>
-</div>
-
-<style>
-	/* Restrict the width of the editor to isolate it from the content of the guide. */
-	#snippet-balloon-block-editor {
-		margin-left: 5%;
-		margin-right: 5%;
-	}
-</style>

+ 0 - 21
docs/_snippets/examples/balloon-block-editor.js

@@ -1,21 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals console, window, document */
-
-import BalloonEditor from '@ckeditor/ckeditor5-build-balloon-block/src/ckeditor';
-
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-BalloonEditor
-	.create( document.querySelector( '#snippet-balloon-block-editor' ), {
-		cloudServices: CS_CONFIG
-	} )
-	.then( editor => {
-		window.editor = editor;
-	} )
-	.catch( err => {
-		console.error( err );
-	} );

+ 0 - 37
docs/_snippets/examples/balloon-editor.html

@@ -1,37 +0,0 @@
-<div id="snippet-balloon-editor">
-	<h2>Walking the capitals of Europe: Warsaw</h2>
-
-	<figure class="media">
-		<oembed url="https://www.youtube.com/watch?v=7YRyFvjA_a8"></oembed>
-	</figure>
-
-	<p>If you enjoyed my previous articles in which we discussed wandering around <a href="https://en.wikipedia.org/wiki/Copenhagen">Copenhagen</a> and <a href="https://en.wikipedia.org/wiki/Vilnius">Vilnius</a>, you’ll definitely love exploring <a href="https://en.wikipedia.org/wiki/Warsaw">Warsaw</a>.</p>
-
-	<h3>Time to put comfy sandals on!</h3>
-
-	<p>Best time to visit the city is July and August, when it’s cool enough to not break a sweat and hot enough to enjoy summer. The city which has quite a combination of both old and modern textures is located by the river of Vistula.</p>
-
-	<p>The historic <strong>Old Town</strong>, which was reconstructed after the World War II, with its late 18th century characteristics, is a must-see. You can start your walk from the <strong>Nowy Świat Street</strong> which will take you straight to the Old Town.</p>
-
-	<p>Then you can go to the <strong>Powiśle</strong> area and take a walk on the newly renovated promenade on the riverfront. There are also lots of cafes, bars and restaurants where you can shake off the exhaustion of the day. On Sundays, there are many parks where you can enjoy nature or listen to pianists from around the world playing Chopin.</p>
-
-	<p>For museum lovers, you can add these to your list:</p>
-
-	<ul>
-		<li><a href="http://www.polin.pl/en">POLIN</a></li>
-		<li><a href="http://www.1944.pl/en">Warsaw Uprising Museum</a></li>
-		<li><a href="http://chopin.museum/en">Fryderyk Chopin Museum</a></li>
-	</ul>
-
-	<h3>Next destination</h3>
-
-	<p>We will go to Berlin and have a night's walk in the city that never sleeps! Make sure you subscribe to our newsletter!</p>
-</div>
-
-<style>
-	/* Restrict the width of the editor to isolate it from the content of the guide. */
-	#snippet-balloon-editor {
-		margin-left: 5%;
-		margin-right: 5%;
-	}
-</style>

+ 0 - 21
docs/_snippets/examples/balloon-editor.js

@@ -1,21 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals console, window, document */
-
-import BalloonEditor from '@ckeditor/ckeditor5-build-balloon/src/ckeditor';
-
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-BalloonEditor
-	.create( document.querySelector( '#snippet-balloon-editor' ), {
-		cloudServices: CS_CONFIG
-	} )
-	.then( editor => {
-		window.editor = editor;
-	} )
-	.catch( err => {
-		console.error( err );
-	} );

+ 0 - 12
docs/_snippets/examples/classic-editor-short.html

@@ -1,12 +0,0 @@
-<div id="snippet-classic-editor-short">
-	<h2>Walking the capitals of Europe: Warsaw</h2>
-	<p>Best time to visit the city is July and August, when it’s cool enough to not break a sweat and hot enough to enjoy summer. The city which has quite a combination of both old and modern textures is located by the river of Vistula.</p>
-	<p>The historic <strong>Old Town</strong>, which was reconstructed after the World War II, with its late 18th century characteristics, is a must-see. You can start your walk from the <strong>Nowy Świat Street</strong> which will take you straight to the Old Town.</p>
-	<p>Then you can go to the <strong>Powiśle</strong> area and take a walk on the newly renovated promenade on  the riverfront. There are also lots of cafes, bars and restaurants where you can shake off the exhaustion of the day. On Sundays, there are many parks where you can enjoy nature or listen to pianists from around the world playing Chopin.</p>
-	<p>For museum lovers, you can add these to your list:</p>
-	<ul>
-		<li><a href="http://www.polin.pl/en" target="_blank" rel="external">POLIN</a></li>
-		<li><a href="http://www.1944.pl/en" target="_blank" rel="external">Warsaw Uprising Museum</a></li>
-		<li><a href="http://chopin.museum/en" target="_blank" rel="external">Fryderyk Chopin Museum</a></li>
-	</ul>
-</div>

+ 0 - 22
docs/_snippets/examples/classic-editor-short.js

@@ -1,22 +0,0 @@
-/**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-
-/* globals ClassicEditor, console, window, document */
-
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-ClassicEditor
-	.create( document.querySelector( '#snippet-classic-editor-short' ), {
-		cloudServices: CS_CONFIG,
-		toolbar: {
-			viewportTopOffset: window.getViewportTopOffsetConfig()
-		}
-	} )
-	.then( editor => {
-		window.editor = editor;
-	} )
-	.catch( err => {
-		console.error( err );
-	} );

+ 0 - 35
docs/_snippets/examples/classic-editor.html

@@ -1,35 +0,0 @@
-<div id="snippet-classic-editor">
-	<h2>The three greatest things you learn from traveling</h2>
-
-	<p>Like all the great things on earth traveling teaches us by example. Here are some of the most precious lessons I’ve learned over the years of traveling.</p>
-
-	<figure class="image image-style-side"><img src="%BASE_PATH%/assets/img/volcano.jpg" alt="A lone wanderer looking at Mount Bromo volcano in Indonesia.">
-		<figcaption>Leaving your comfort zone might lead you to such beautiful sceneries like this one.</figcaption>
-	</figure>
-
-	<h3>Appreciation of diversity</h3>
-
-	<p>Getting used to an entirely different culture can be challenging. While it’s also nice to learn about cultures online or from books, nothing comes close to experiencing cultural diversity in person. You learn to appreciate each and every single one of the differences while you become more culturally fluid.</p>
-
-	<blockquote>
-		<p>The real voyage of discovery consists not in seeking new landscapes, but having new eyes.</p>
-		<p><strong>Marcel Proust</strong></p>
-	</blockquote>
-
-	<h3>Improvisation</h3>
-
-	<p>Life doesn't allow us to execute every single plan perfectly. This especially seems to be the case when you travel. You plan it down to every minute with a big checklist; but when it comes to executing it, something always comes up and you’re left with your improvising skills. You learn to adapt as you go. Here’s how my travel checklist looks now:</p>
-
-	<ul>
-		<li>buy the ticket</li>
-		<li>start your adventure</li>
-	</ul>
-
-	<figure class="image image-style-side"><img src="%BASE_PATH%/assets/img/umbrellas.jpg" alt="Three Monks walking on ancient temple.">
-		<figcaption>Leaving your comfort zone might lead you to such beautiful sceneries like this one.</figcaption>
-	</figure>
-
-	<h3>Confidence</h3>
-
-	<p>Going to a new place can be quite terrifying. While change and uncertainty makes us scared, traveling teaches us how ridiculous it is to be afraid of something before it happens. The moment you face your fear and see there was nothing to be afraid of, is the moment you discover bliss.</p>
-</div>

+ 0 - 0
docs/_snippets/examples/classic-editor.js


Some files were not shown because too many files changed in this diff