Skip to content

Latest commit

 

History

History
68 lines (52 loc) · 1.84 KB

README.md

File metadata and controls

68 lines (52 loc) · 1.84 KB

EditorJS-LaTeX

Check the example: https://mdgaziur.github.io/EditorJS-LaTeX/example

LaTeX block support for EditorJS

Created By: MD Gaziur Rahman Noor

Screenshot of EditorJS-LaTeX

Setting Up

Add the following code inside the <head> tag.

<script src="https://cdn.jsdelivr.net/npm/@editorjs/[email protected]/dist/editor.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/mdgaziur/EditorJS-LaTeX@latest/dist/editorjs-latex.bundle-min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/mdgaziur/EditorJS-LaTeX@latest/dist/editorjs-latex.bundle.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.12.0/katex.min.css"></link>

To use with nodejs simply run npm i editorjs-latex and import using the following code:

const EJLaTeX = require('editorjs-latex');

To add this library to EditorJS, simply add the follwing code:

tools: {
        Math: {
        class: EJLaTeX,
        shortcut: 'CMD+SHIFT+M'
    }, ...
}

If you need to adjust the theming of the editor, you can add CSS rules in the config like:

tools: {
        Math: {
        class: EJLaTeX,
        shortcut: 'CMD+SHIFT+M',
        config: {
            css: '.math-input-wrapper { padding: 5px; }'
        }
    }, ...
}

Getting data

The output data of this plugin will look like bellow:

{
    "type" : "Math",
    "data" : {
        "math" : "\\frac{a \\pm b}{(a+b)^2}"
    }
}

The "math" item contains the expression. You can use KaTeX to render that in your document.

Conclusion

If there is any problem or bugs, create an issue in this repository. I'll try my best to help you.