Skip to content

Sample for using CKEditor5 with custom build (plugins) in Next.js

Notifications You must be signed in to change notification settings

nghiaht/nextjs-ckeditor5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

nextjs-ckeditor5

Sample for using CKEditor5 with custom build (additional plugins..) in Next.js

Input

Tutorials

Custom ckeditor-5-build-classic

For example, add the plugin SimpleUploadAdapter into ckeditor-5-build-classic

  • Install the plugin SimpleUploadAdapter
cd ckeditor5-build-classic-custom
npm install


// src/ckeditor.js
...
import SimpleUploadAdapter from '@ckeditor/ckeditor5-upload/src/adapters/simpleuploadadapter';
...
  • Put it into the plugin list
// src/ckeditor.js
...
ClassicEditor.builtinPlugins = [
    ...
    SimpleUploadAdapter
]
...
  • Re-build with added plugin for next step
npm run build

Using ckeditor-5-build-classic-custom in your app

  • Use the local package ckeditor5-build-classic-custom
cd app

# Check package.json to see the usage of local package ckeditor5-build-classic-custom

// package.json
...
"@ckeditor/ckeditor5-build-classic": "file:../ckeditor5-build-classic-custom",
...

npm install
// components/editor.js
...
import CKEditor from "@ckeditor/ckeditor5-react";
...
  • Config the plugin SimpleUploadAdapter
// components/editor.js
...
<CKEditor
          editor={ClassicEditor}
          config={{
            // Pass the config for SimpleUploadAdapter
            simpleUpload: {
              // The URL that the images are uploaded to.
              uploadUrl: "http://example.com",

              // Enable the XMLHttpRequest.withCredentials property.
              withCredentials: true,

              // Headers sent along with the XMLHttpRequest to the upload server.
              headers: {
                "X-CSRF-TOKEN": "CSRF-Token",
                Authorization: "Bearer <JSON Web Token>",
              },
            },
          }}
...
  • Dynamic import the Editor component with mode ssr=false to prevent errors in Next.js
// pages/index.js
...
const Editor = dynamic(() => import("../components/editor"), {ssr: false})
...
  • Start app
npm run dev
  • Build & export
npm run build
npm run export

Author

  • nghiaht

About

Sample for using CKEditor5 with custom build (plugins) in Next.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published