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
Request an Update
Hack not working on the latest version of BookStack?
You can request this hack to be updated & tested for a small one-time fee.
This helps keeps these hacks updated & maintained in a sustainable manner.
Latest Hacks
Dynamic Glossary
This hack adds the ability to write global and book-level glossaries, which will then be utilised when viewing pages by marking those words in page content with a dashed underline. »
Prune Revisions Command
This hack registers a custom command using the logical theme system, which will prune the revisions of a specific page to just those with a changelog provided (in addition to the current revision), before resetting the revision numbers across the remaining versions to be sequential without gaps. »
Format Webhooks for Pushover
This is a hack to adapt outgoing webhooks from BookStack so that they are directly compatible with the pushover message API. »
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. »