From: Dan Brown Date: Mon, 27 Mar 2023 13:56:54 +0000 (+0100) Subject: Converted iframe hack to visual theme system hack X-Git-Url: http://source.bookstackapp.com/hacks/commitdiff_plain/7cf63a462ba5e2d559f06a0e981c255441dbbe28 Converted iframe hack to visual theme system hack --- diff --git a/content/iframe-specific-tweaks/index.md b/content/iframe-specific-tweaks/index.md new file mode 100644 index 0000000..2072a6f --- /dev/null +++ b/content/iframe-specific-tweaks/index.md @@ -0,0 +1,31 @@ ++++ +title = "IFrame Specific Tweaks" +author = "@vincent @ssddanbrown" +date = 2023-03-20T00:00:00Z +updated = 2023-03-27T00:00:00Z +tested = "v23.02.2" ++++ + +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. + +This can be useful if you use BookStack as a knowledge base, and you want to integrate contextual help for your app, with content from BookStack. + +#### Considerations + +- The forced dark/light mode control works via JavaScript, so will not run where a user has +JavaScript disabled although this is relatively rare. + +#### Usage + +Use the original page url, with the GET query params `iframe=true` and `theme=dark|light`. For example: + +```html + +``` + +The styles and script logic provided is just an example starting point. You should customize these to suit your own needs. + +#### Code + +{{}} diff --git a/content/iframe-specific-tweaks/layouts/parts/base-body-start.blade.php b/content/iframe-specific-tweaks/layouts/parts/base-body-start.blade.php new file mode 100644 index 0000000..ad640f9 --- /dev/null +++ b/content/iframe-specific-tweaks/layouts/parts/base-body-start.blade.php @@ -0,0 +1,36 @@ + +@if(request()->query('iframe') === 'true') + + + + + + + + @if(request()->query('theme')) + + @endif +@endif \ No newline at end of file diff --git a/content/page-as-iframe/head.html b/content/page-as-iframe/head.html deleted file mode 100644 index da926e5..0000000 --- a/content/page-as-iframe/head.html +++ /dev/null @@ -1,24 +0,0 @@ - - \ No newline at end of file diff --git a/content/page-as-iframe/index.md b/content/page-as-iframe/index.md deleted file mode 100644 index 4b0ff76..0000000 --- a/content/page-as-iframe/index.md +++ /dev/null @@ -1,26 +0,0 @@ -+++ -title = "Overloading CSS to view a book page in a iframe" -author = "@vincent" -date = 2023-03-20T00:00:00Z -updated = 2023-03-20T00:00:00Z -tested = "v22.11.1" -+++ - -This hack will add classes on the HTML root element, and hide some components when displayed inside an iframe. - -This can be useful use Bookstack as a Knowledge Base, and you want to integrate contextual help for your app, with content from Bookstack. - -#### Considerations - -This works via JavaScript, so is not assured to run since a user could have -JavaScript disabled although this is relatively rare. - -### Usage - -Use the original page url, with the GET query params `iframe=true` and `theme=dark|default`. - -For example: `bookstack-instance.io/books/my-book/page/my-page?iframe=true&theme=dark` - -#### Code - -{{}}