This custom build was generated by the online builder tool.
The base configuration of the editor is available in the src/ckeditor.js
file.
If you are adding plugins, make sure that the plugin's major version is similar to the rest of the plugins in this build.
For example, at the time of writing, most of the plugins are at version 34.0.1. So, find the plugin in The npm Registry, sniff out the version closest to the major version, and install that instead.
Note Make sure to install the plugin as a development dependency.
For example, to install @ckeditor/ckeditor5-media-embed at version 34.0.1, run the following command.
yarn add -D @ckeditor/ckeditor5-media-embed@^34.0.1
Warning Using plugins of differing major versions can result in unexpected behaviours. For example,
ckeditor-duplicated-modules
.
After making any changes to the configuration, you need to rebuild the editor before it can be imported in Coursemology. To rebuild the editor, you need to install all the dependencies.
yarn install
Then, destroy the previous build
and rebuild with webpack.
rm -rf build
yarn build
The package is now ready to be imported.
There's no Hot Module Replacement, because this is not an Node app, but a package. You can local test your new custom build by linking it with Yarn.
In this repository's root directory, run:
yarn link
You should see a message that gives you the following command that you should run in Coursemology's client root directory.
yarn link "@ckeditor/ckeditor5-build-custom"
You can now import the editor, even if @ckeditor/ckeditor5-build-custom
is not listed in your package.json
.
import CustomEditor from "@ckeditor/ckeditor5-build-custom";
If you already have an existing package installed with the same name, this should take precedence over the existing package.
In this repository's root directory, run:
yarn unlink
In Coursemology's client root directory, run:
yarn unlink "@ckeditor/ckeditor5-build-custom"
Note that unlike most Node production apps, the build
directory must be committed. This is the actual package that is imported in Coursemology.
Even if you didn't change anything, rebuilding will most likely generate a different build
. This is normal. Just make sure you're committing only when there are tangible changes to this custom build.
Also, commit yarn.lock
.
Just ensure that when upgrading any @ckeditor/*
packages to a higher major version, other @ckeditor/*
packages are also upgraded to the same major version.