The multi-root editor build for CKEditor 5. Read more about the multi-root editor build and see the demo.
See:
- Installation for how to install this package and what it contains.
- Editor lifecycle for how to create an editor and interact with it.
- Configuration for how to configure the editor.
- Creating custom builds for how to customize the build (configure and rebuild the editor bundle).
First, install the build from npm:
npm install --save @ckeditor/ckeditor5-build-multi-root
And use it in your website:
<div id="toolbar"></div>
<div id="header">
<p>Content for header.</p>
</div>
<div id="content">
<p>Main editor content.</p>
</div>
<div class="boxes">
<div class="box box-left editor">
<div id="left-side">
<p>Content for left-side box.</p>
</div>
</div>
<div class="box box-right editor">
<div id="right-side">
<p>Content for right-side box.</p>
</div>
</div>
</div>
<script src="./node_modules/@ckeditor/ckeditor5-build-multi-root/build/ckeditor.js"></script>
<script>
MultiRootEditor
.create( {
header: document.getElementById( 'header' ),
content: document.getElementById( 'content' ),
leftSide: document.getElementById( 'left-side' ),
rightSide: document.getElementById( 'right-side' )
} )
.then( editor => {
window.editor = editor;
// Append toolbar to a proper container.
const toolbarContainer = document.getElementById( 'toolbar' );
toolbarContainer.appendChild( editor.ui.view.toolbar.element );
} )
.catch( error => {
console.error( 'There was a problem initializing the editor.', error );
} );
</script>
Or in your JavaScript application:
import MultiRootEditor from '@ckeditor/ckeditor5-build-multi-root';
// Or using the CommonJS version:
// const MultiRootEditor = require( '@ckeditor/ckeditor5-build-multi-root' );
MultiRootEditor
.create( {
header: document.getElementById( 'header' ),
content: document.getElementById( 'content' ),
leftSide: document.getElementById( 'left-side' ),
rightSide: document.getElementById( 'right-side' )
} )
.then( editor => {
window.editor = editor;
// Append toolbar to a proper container.
const toolbarContainer = document.getElementById( 'toolbar' );
toolbarContainer.appendChild( editor.ui.view.toolbar.element );
} )
.catch( error => {
console.error( 'There was a problem initializing the editor.', error );
} );
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.
Licensed under a dual-license model, this software is available under:
- the GNU General Public License Version 2 or later,
- or commercial license terms from CKSource Holding sp. z o.o.
For more information, see: https://ckeditor.com/legal/ckeditor-licensing-options.