They can cause instability, introduce issues and may conflict with future updates. Apply at your own risk!
Interactive Embedded Page Drawings
This hack will, on page view, attempt to convert any drawing images into interactive embedded drawing viewers so that you’ll be able to pan & zoom around the drawings while also being able to interact with things like links within the drawings.
Considerations
- The drawings are loaded via the external “https://viewer.diagrams.net” site/service, and therefore this relies on that service being accessible from the browser, and drawing data is sent to that domain/location.
- This hack will dynamically alter the
ALLOWED_IFRAME_SOURCES
option to allow the needed embedded viewers. - The embedded viewers will take up more space than the original drawing, as extra room is needed for the viewer toolbar/UI. This may result in extra page movement/jumping on page load.
- While this has been tested with some drawings, this isn’t built on public/strong standards & APIs so there may be cases where this does not work, and there’s no assurance this will continue to work in the future.
Usage
After setup of the required hack files, this should automatically convert drawings when viewing a page.
Code
layouts/parts/base-body-start.blade.php
|
|
functions.php
|
|
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
Interactive Embedded Page Drawings
This hack will, on page view, attempt to convert any drawing images into interactive embedded drawing viewers so that you’ll be able to pan & zoom around the drawings while also being able to interact with things like links within the drawings. »
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. On hover, the set definitions will show in a popup below the word. »
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. This will also reset the overall revision count on the page. »
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. It specifically targets pushover webhook endpoints, so this won’t affect non-pushover webhooks. »