How to install CKEDITOR to angular project and add plugins

前端 未结 2 1239
一生所求
一生所求 2020-12-18 10:19

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

相关标签:
2条回答
  • 2020-12-18 11:09

    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:

    1. Clone the original repo:

    git clone https://github.com/ckeditor/ckeditor5-build-classic.git

    1. Install dependencies

    npm install

    1. Install necessary plugin itself

    npm install --save @wiris/mathtype-ckeditor5

    1. Open src/ckeditor.js and new plugin to the editor:
    ...
    import MathType from '@wiris/mathtype-ckeditor5';
    ...
    
    ClassicEditor.builtinPlugins = [
       ...
       MathType
    ];
    
    ClassicEditor.defaultConfig = {
        toolbar: {
            items: [
                ...
                'MathType',
                ...
            ]
        },
        ...
    };
    
    1. Then build the editor (you maybe need to install yarn)

    yarn run build

    1. After that copy everything from build folder to your project. For instance
    src/assets/js/ck-editor-math-type/
       -> translations
          -> ...
       -> ckeditor.js
    
    1. Add ckeditor code to package.json
    "dependencies": {
       ...
       "@ckeditor/ckeditor5-angular": "^1.1.2",
       ...
    }
    
    1. 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>'
        };
    }
    
    1. Add it too your template.html
    <ckeditor [(ngModel)]="model.editorData" [editor]="Editor"></ckeditor>
    

    Hope this help you.

    0 讨论(0)
  • 2020-12-18 11:25

    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>
    
    0 讨论(0)
提交回复
热议问题