chore(ckeditor5): integrate ckeditor5-admonition

This commit is contained in:
Elian Doran
2025-05-04 19:06:23 +03:00
parent b0169d58ae
commit a494ff1169
11 changed files with 65 additions and 152 deletions

View File

@@ -1,6 +1,5 @@
import { Plugin, ButtonView } from 'ckeditor5';
import { Plugin } from 'ckeditor5';
import admonitionIcon from '../theme/icons/admonition.svg';
import AdmonitionEditing from './admonitionediting.js';
import AdmonitionUI from './admonitionui.js';
import AdmonitionAutoformat from './admonitionautoformat.js';
@@ -15,33 +14,4 @@ export default class Admonition extends Plugin {
return 'Admonition' as const;
}
public init(): void {
const editor = this.editor;
const t = editor.t;
const model = editor.model;
// Register the "admonition" button, so it can be displayed in the toolbar.
editor.ui.componentFactory.add( 'admonition', locale => {
const view = new ButtonView( locale );
view.set( {
label: t( 'Admonition' ),
icon: admonitionIcon,
tooltip: true
} );
// Insert a text into the editor after clicking the button.
this.listenTo( view, 'execute', () => {
model.change( writer => {
const textNode = writer.createText( 'Hello CKEditor 5!' );
model.insertContent( textNode );
} );
editor.editing.view.focus();
} );
return view;
} );
}
}

View File

@@ -1,4 +1,4 @@
import ckeditor from './../theme/icons/ckeditor.svg';
import admonitionIcon from '../theme/icons/admonition.svg';
import './augmentation.js';
import "../theme/blockquote.css";
@@ -9,5 +9,5 @@ export { default as AdmonitionAutoformat } from './admonitionautoformat.js';
export type { default as AdmonitionCommand } from './admonitioncommand.js';
export const icons = {
ckeditor
admonitionIcon
};