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
Install as Module (Beta)
If using BookStack v26.03 or later, you can install this hack as a theme module on your BookStack instance by running the below artisan command from your BookStack installation folder:
php artisan bookstack:install-module https://www.bookstackapp.com/hack-modules/mathjax-tex.zip
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
View Block: Developer Info
This hack registers a custom view block which will show developer-focused details such as: ID for the current item viewed (With click-to-copy ID) A link to open that item in the API A link to the relevant section in the docs This is available to be added to all content-based layouts. »
View Block: Instance Total Stats
This hack registers a custom view block which can be used on any type of home page. This block lists total counts for shelves, books, chapters, pages and users in the system. »
Azure/Entra OIDC User Avatar Images on Initial Login
This hack hooks into the OIDC login process to fetch and assign user avatar images from Azure/Entra on first user login/registration. »
Tag Values in Page Content via Includes
This hack allows you to dynamically pull in the value of tags into page content, via customizing how page include tags are parsed. This hack will attempt to use tags on the page itself, then look to the parent chapter (if existing), then the parent book’s tags. »