I am trying to install ckeditor to my angular project. I already tried installing ckeditor4-angular
via npm but was unable to find a way to add plugins like the WIRIS mathType. Please how can i install the editor to my angular project and as well install plugins?

- 515
- 1
- 7
- 16
-
use CKEditor in angular: https://stackoverflow.com/questions/58155972/how-to-get-data-from-ckeditor/58156538#58156538 – Abolfazl Roshanzamir Oct 14 '20 at 12:42
-
add a plugin to CKEditor in angular: https://stackoverflow.com/questions/39208766/ng2-ckeditor-add-placeholder-plugin-using-typescript-and-angular-2-0/64329399#64329399 – Abolfazl Roshanzamir Oct 14 '20 at 12:43
3 Answers
Here is an issue regarding this https://github.com/ckeditor/ckeditor5-angular/issues/134. You need to create your custom CKEditor build and include necessary plugins into it. Here is the guide: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/development/custom-builds.html BTW I suggest you to use CKEditor 5, the latest version.
UPD:
- Clone the original repo:
git clone https://github.com/ckeditor/ckeditor5-build-classic.git
- Install dependencies
npm install
- Install necessary plugin itself
npm install --save @wiris/mathtype-ckeditor5
- Open
src/ckeditor.js
and new plugin to the editor:
...
import MathType from '@wiris/mathtype-ckeditor5';
...
ClassicEditor.builtinPlugins = [
...
MathType
];
ClassicEditor.defaultConfig = {
toolbar: {
items: [
...
'MathType',
...
]
},
...
};
- Then build the editor (you maybe need to install yarn)
yarn run build
- After that copy everything from
build
folder to your project. For instance
src/assets/js/ck-editor-math-type/
-> translations
-> ...
-> ckeditor.js
- Add ckeditor code to
package.json
"dependencies": {
...
"@ckeditor/ckeditor5-angular": "^1.1.2",
...
}
- Import CKEditor to your component:
import * as ClassicEditor from '../../assets/js/ck-editor-math-type/ckeditor.js';
...
export class CkeditComponent implements OnInit {
public Editor = ClassicEditor;
public model = {
editorData: '<p>Hello, world!</p>'
};
}
- Add it too your template.html
<ckeditor [(ngModel)]="model.editorData" [editor]="Editor"></ckeditor>
Hope this help you.

- 799
- 8
- 18
-
-
5
-
2In case anybody wants to use it as an `npm` package, push it up to your github repository ( gitusername/gitbranch ) (on github.com) and use it in package.json as `... "gitbranch": "gitusername/gitbranch#commit-id", ... `. Commit is to ensure you always have the same version. Hope this helps. – Nico Apr 16 '20 at 10:34
-
after 7th step do i need to import Ckeditor module in my feature module – paruvelly Vishwanath May 28 '20 at 08:01
-
Here is the elaborated step #7 https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html – Ratul Sharker Jun 01 '20 at 18:45
-
I had to set "strict": false in tsconfig.json. If someone has a better solution to solve error 'Could not find a declaration file for module' let me know! – Wim den Herder May 16 '21 at 07:45
After step 7
Add ckeditor code to package.json "dependencies": { ... "@ckeditor/ckeditor5-angular": "^1.1.2", ... }
Step 8:
npm install
step 9:
In app.module.ts file you can add
import { CKEditorModule } from '@ckeditor/ckeditor5-angular';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
CKEditorModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
step 10: In file tsconfig.json add allowJs: ture
"compilerOptions": {
"allowJs": true,
}
step 11:
Import CKEditor to your component:
import * as ClassicEditor from '../../assets/js/ck-editor-math-type/ckeditor.js';
...
export class CkeditComponent implements OnInit {
public Editor = ClassicEditor;
public model = {
editorData: '<p>Hello, world!</p>'
};
}
step 12:
Add it too your template.html
<ckeditor [(ngModel)]="model.editorData" [editor]="Editor"></ckeditor>

- 31
- 3
-
Spent the whole day on this trying various resources all over the internet and could not get it to work. – fromage9747 Nov 10 '20 at 08:30
-
i have done if you want you can access through this url https://github.com/sarveshhome/ckeditorwithMathPhysics – Sarvesh Kumar Nov 26 '20 at 06:51
-
For anyone still having issues, ensure your target in your tsconfig.json is `es2015` or higher `"target": "es2015"` – Alberto Rivera Dec 09 '20 at 18:31
Following steps worked for me :
Copy the everything from "ckeditor5\build" folder to your assets folder.
Import the module in your app.module.ts file like -
//app.module.ts file import { CKEditorModule } from '@ckeditor/ckeditor5-angular'; ... imports:[..., CKEditorModule,] ...
- Now, in your component import the custom ckeditor like this -
import * as CustomEditor from '../../../assets/ckeditor.js';
- Create the object of editor like this
public Editor = CustomEditor.Editor;
Yes, you have to use Editor property from CustomEditor object
- Setup the ckeditor toolbar by settings its config property like :
<ckeditor [config]="{ toolbar: [ 'heading', '|', 'bold'. . . . ] }" [editor]="Editor">
Please make sure to set config property as it is going to complain if you don't.

- 85
- 9