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
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. »
IFrame Specific Tweaks
This hack will add custom styles & scripts, hiding many parts of the interface while adding additional light/dark mode control, intended to provide a cleaner view that’s suitable for use within iframes embedded on external pages. »
Page Export Contents List
This hack uses the visual theme system to customize the page export template file, used for both PDF and HTML exports, to add a simple linked “Contents” list to the top of the file, generated from the headers within the document. »
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 \[. »