Awesome
EditorJS-LaTeX
Check the example: https://mdgaziur.github.io/EditorJS-LaTeX/example
LaTeX block support for EditorJS
Created By: MD Gaziur Rahman Noor
Setting Up
Add the following code inside the <head>
tag.
<script src="https://cdn.jsdelivr.net/npm/@editorjs/editorjs@2.19.0/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.