They can cause instability, introduce issues and may conflict with future updates. Apply at your own risk!
Render TeX/LaTeX Mathematics with MathJax
This hack will allow TeX/LaTeX mathematic markup to be rendered within a page on BookStack using MathJax.
Inline math can be surrounded with $
and math blocks can be surrounded with
$$
or \[...\]
. Additionally LaTeX environments and \ref{...}
commands will be processed.
This can be used with both the WYSIWYG editor and the Markdown editor and will affect everything on a given page, meaning this can be used in titles, book/chapter headings, etc.
Considerations
- This relies on JavaScript to parse and render content on page load.
- This loads the MathJax JavaScript from an external CDN (jsdelivr.net) server.
- Math rendering may not work in all areas of the application, notedly:
- No rendering in the Markdown live preview.
- No rendering in many export formats, including PDF.
- This could introduce rendering of Math where not intended.
Options
It is possible to further configure MathJax as documented here.
Code
Latest Hacks
WYSIWYG Docx Import
This hack adds the ability to import “.docx” files into the WYSIWYG editor, by dragging and dropping a “docx” file into the editor area. »
WYSIWYG Editor Autocomplete Suggestions
This hack adds custom autocomplete suggestions to the WYSIWYG page editor (TinyMCE). An autocomplete popup box will show after a “trigger character” (: as configured by default in this hack) is entered after a space, or at the start of a line. »
WYSIWYG Editor Footnotes
This hack adds some level of “footnote” support to the WYSIWYG editor. A new “Footnote” button is added to the toolbar, next to the “Italic” button, that allows you to insert a new footnote reference. »
Custom WYSIWYG Editor Buttons
This hack provides an example of adding custom actions to the WYSIWYG page editor (TinyMCE). By default, this adds an additional “…” overflow menu to the end of the WYSWIYG toolbar, which contains a single new “Insert Cat” button that has a custom icon. »