Hello !
I succeeded in adding LaTeX on my nodebb forum but my solution is bad for maintenance (all plugin I found to do that had defaults so I made my own work)... I think there is a greater/more elegant way ; here is the reason for this message .
Here is my method for now :
- I forked nodebb-plugin-markdown (named it nodebb-plugin-markdown-YA).
- I added into package.json these dependencies : katex and markdown-it-texmath.
- I copied katex.min.css from katex to nodebb-plugin-markdown-YA/public/less/katex.min.less.
- I copied "fonts" dir from katex to "nodebb/public".
- I changed nodebb-plugin-markdown/index.js (bof, bof... ). Here is the diff between nodebb-plugin-markdown/index.js and nodebb-plugin-markdown-YA/index.js :
2a3,6
> // YA add-on for LaTeX (markdown-it-texmath + katex)
> var katex = require('katex');
> var MarkdownItTexmath = require('markdown-it-texmath').use(katex);
>
52c56,57
< href: nconf.get('relative_path') + '/plugins/nodebb-plugin-markdown/styles/' + (Markdown.config.highlightTheme || 'railscasts.css'),
---
> // YA change for LaTeX (markdown-it-texmath + katex) - plugin renamed !
> href: nconf.get('relative_path') + '/plugins/nodebb-plugin-markdown-YA/styles/' + (Markdown.config.highlightTheme || 'railscasts.css'),
115c120,123
< parser = new MarkdownIt(_self.config);
---
> // YA change for LaTeX (markdown-it-texmath + katex)
> // parser = new MarkdownIt(_self.config);
> parser = new MarkdownIt(_self.config).use(MarkdownItTexmath, {"delimiters" : 'dollars'});
>
236a245,246
> // YA change for LaTeX (markdown-it-texmath + katex)
> // checkboxes make some bad things with LaTeX so desactivate it
238,241c248,251
< parser.use(require('markdown-it-checkbox'), {
< divWrap: true,
< divClass: 'plugin-markdown',
< });
---
> // parser.use(require('markdown-it-checkbox'), {
> // divWrap: true,
> // divClass: 'plugin-markdown',
> // });
Is there a greater way to do these things keeping nodebb-plugin-markdown unchanged and installed ? I can write another plugin to apply my changes (add LaTeX with markdown-it-texmath and katex and remove markdown-it-checkbox use) but is it really possible and, if yes, with which hooks ?
It would be really simpler for maintenance (and also more beautiful... )...
Thanks in advance for help !