Skip to content

Instantly share code, notes, and snippets.

@mlh758
Created September 20, 2021 13:58
Show Gist options
  • Save mlh758/7f7357aaabdc55fb40030e06c152613c to your computer and use it in GitHub Desktop.
Save mlh758/7f7357aaabdc55fb40030e06c152613c to your computer and use it in GitHub Desktop.
CKEditor Build
// The editor creator to use.
import ClassicEditorBase from "@ckeditor/ckeditor5-editor-classic/src/classiceditor";
import SimpleUploadAdapter from "@ckeditor/ckeditor5-upload/src/adapters/simpleuploadadapter";
import Essentials from "@ckeditor/ckeditor5-essentials/src/essentials";
import UploadAdapter from "@ckeditor/ckeditor5-adapter-ckfinder/src/uploadadapter";
import Autoformat from "@ckeditor/ckeditor5-autoformat/src/autoformat";
import Autosave from "@ckeditor/ckeditor5-autosave/src/autosave";
import Bold from "@ckeditor/ckeditor5-basic-styles/src/bold";
import Italic from "@ckeditor/ckeditor5-basic-styles/src/italic";
import BlockQuote from "@ckeditor/ckeditor5-block-quote/src/blockquote";
import CKFinder from "@ckeditor/ckeditor5-ckfinder/src/ckfinder";
import Heading from "@ckeditor/ckeditor5-heading/src/heading";
import Image from "@ckeditor/ckeditor5-image/src/image";
import ImageCaption from "@ckeditor/ckeditor5-image/src/imagecaption";
import ImageStyle from "@ckeditor/ckeditor5-image/src/imagestyle";
import ImageToolbar from "@ckeditor/ckeditor5-image/src/imagetoolbar";
import ImageUpload from "@ckeditor/ckeditor5-image/src/imageupload";
import Indent from "@ckeditor/ckeditor5-indent/src/indent";
import Link from "@ckeditor/ckeditor5-link/src/link";
import List from "@ckeditor/ckeditor5-list/src/list";
import MediaEmbed from "@ckeditor/ckeditor5-media-embed/src/mediaembed";
import Paragraph from "@ckeditor/ckeditor5-paragraph/src/paragraph";
import PasteFromOffice from "@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice";
import Table from "@ckeditor/ckeditor5-table/src/table";
import TableToolbar from "@ckeditor/ckeditor5-table/src/tabletoolbar";
import TableCaption from "@ckeditor/ckeditor5-table/src/tablecaption";
import TableProperties from "@ckeditor/ckeditor5-table/src/tableproperties";
import TableCellProperties from "@ckeditor/ckeditor5-table/src/tablecellproperties";
import TextTransformation from "@ckeditor/ckeditor5-typing/src/texttransformation";
import SourceEditing from "@ckeditor/ckeditor5-source-editing/src/sourceediting";
import HtmlEmbed from '@ckeditor/ckeditor5-html-embed/src/htmlembed';
import GeneralHtmlSupport from '@ckeditor/ckeditor5-html-support/src/generalhtmlsupport';
export default class ClassicEditor extends ClassicEditorBase {}
// Plugins to include in the build.
ClassicEditor.builtinPlugins = [
Essentials,
UploadAdapter,
Autoformat,
Autosave,
Bold,
Italic,
BlockQuote,
CKFinder,
Heading,
Image,
ImageCaption,
ImageStyle,
ImageToolbar,
ImageUpload,
Indent,
Link,
List,
MediaEmbed,
Paragraph,
PasteFromOffice,
Table,
TableToolbar,
TableProperties,
TableCellProperties,
TableCaption,
TextTransformation,
SimpleUploadAdapter,
SourceEditing,
HtmlEmbed,
GeneralHtmlSupport,
];
// Editor configuration.
ClassicEditor.defaultConfig = {
toolbar: {
items: [
"heading",
"|",
"bold",
"italic",
"link",
"bulletedList",
"numberedList",
"|",
"outdent",
"indent",
"|",
"uploadImage",
"blockQuote",
"insertTable",
"mediaEmbed",
"undo",
"redo",
"|",
"sourceEditing",
"htmlEmbed"
],
},
image: {
toolbar: ["imageStyle:side", "|", "imageTextAlternative"],
},
table: {
contentToolbar: [
"tableColumn",
"tableRow",
"mergeTableCells",
"tableProperties",
"tableCellProperties",
"toggleTableCaption",
],
},
htmlSupport: {
allow: [
// Enables all HTML features, just copied from the docs
{
name: /.*/,
attributes: true,
classes: true,
styles: true,
},
],
},
// This value must be kept in sync with the language defined in webpack.config.js.
language: "en",
};
{
"name": "ckeditor-build",
"version": "1.0.1",
"dependencies": {
"@ckeditor/ckeditor5-adapter-ckfinder": "^29.1.0",
"@ckeditor/ckeditor5-autoformat": "^29.1.0",
"@ckeditor/ckeditor5-autosave": "^29.1.0",
"@ckeditor/ckeditor5-basic-styles": "^29.1.0",
"@ckeditor/ckeditor5-block-quote": "^29.1.0",
"@ckeditor/ckeditor5-ckfinder": "^29.1.0",
"@ckeditor/ckeditor5-core": "^29.1.0",
"@ckeditor/ckeditor5-dev-utils": "^23.3.4",
"@ckeditor/ckeditor5-dev-webpack-plugin": "^25.3.0",
"@ckeditor/ckeditor5-editor-classic": "^29.1.0",
"@ckeditor/ckeditor5-essentials": "^29.1.0",
"@ckeditor/ckeditor5-heading": "^29.1.0",
"@ckeditor/ckeditor5-html-embed": "^29.1.0",
"@ckeditor/ckeditor5-html-support": "^29.1.0",
"@ckeditor/ckeditor5-image": "^29.1.0",
"@ckeditor/ckeditor5-indent": "^29.1.0",
"@ckeditor/ckeditor5-link": "^29.1.0",
"@ckeditor/ckeditor5-list": "^29.1.0",
"@ckeditor/ckeditor5-media-embed": "^29.1.0",
"@ckeditor/ckeditor5-paragraph": "^29.1.0",
"@ckeditor/ckeditor5-paste-from-office": "^29.1.0",
"@ckeditor/ckeditor5-source-editing": "^29.1.0",
"@ckeditor/ckeditor5-table": "^29.1.0",
"@ckeditor/ckeditor5-theme-lark": "^29.1.0",
"@ckeditor/ckeditor5-typing": "^29.1.0",
"cross-env": "5.0.5",
"postcss-loader": "^3.0.0",
"raw-loader": "^4.0.1",
"style-loader": "^1.2.1",
"terser-webpack-plugin": "^3.0.2",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11"
},
"scripts": {
"build": "webpack --mode production",
"preversion": "npm run build"
},
"main": "./build/ckeditor.js",
"files": [
"build"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment