123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import Embed from '../blots/embed';
- import Quill from '../core/quill';
- import Module from '../core/module';
- class FormulaBlot extends Embed {
- static create(value) {
- let node = super.create(value);
- if (typeof value === 'string') {
- window.katex.render(value, node, {
- throwOnError: false,
- errorColor: '#f00'
- });
- node.setAttribute('data-value', value);
- }
- return node;
- }
- static value(domNode) {
- return domNode.getAttribute('data-value');
- }
- }
- FormulaBlot.blotName = 'formula';
- FormulaBlot.className = 'ql-formula';
- FormulaBlot.tagName = 'SPAN';
- class Formula extends Module {
- static register() {
- Quill.register(FormulaBlot, true);
- }
- constructor() {
- super();
- if (window.katex == null) {
- throw new Error('Formula module requires KaTeX.');
- }
- }
- }
- export { FormulaBlot, Formula as default };
|