The code for the main site, Includes BookStack docs.
2023-02-26 11:07:44 +00:00
.github Create FUNDING.yml 2021-09-15 22:22:40 +01:00
content Added video into v23.02 post 2023-02-26 11:07:44 +00:00
data/authors Added 500 stars blogpost and improved post meta 2017-03-05 18:12:15 +00:00
hacks@5eb2840ca1 Added Torutec as a sponsor, updates hacks module 2023-02-14 16:09:00 +00:00
search Updated meilisearch config for latest version and current site state 2022-10-27 23:26:01 +01:00
static Added video into v23.02 post 2023-02-26 11:07:44 +00:00
themes/bookstack Added Torutec as a sponsor, updates hacks module 2023-02-14 16:09:00 +00:00
.gitattributes Prepared 10k stars blogpost 2022-09-13 14:01:36 +01:00
.gitignore Updated meilisearch config for latest version and current site state 2022-10-27 23:26:01 +01:00
.gitmodules Moved hacks to submodule, added symlink to submodule content 2023-02-12 18:44:03 +00:00
config.toml Added remaining v22.09 main post sections 2022-09-07 11:46:28 +01:00
LICENSE Updates in Year of Licence. 2020-09-30 21:39:16 +05:30
package-lock.json Finalized v23.01 post, updated npm deps 2023-01-31 11:33:08 +00:00
package.json Finalized v23.01 post, updated npm deps 2023-01-31 11:33:08 +00:00
readme.md Added hacks info to readme, updated hacks page 2023-02-12 23:37:31 +00:00

BookStack Site, Documentation & Blog

This project holds all the data for the https://www.bookstackapp.com/

This site is built using Hugo. Images are stored using git-lfs. The "extended" version of hugo must be used (Has support for certain features like WebP resize).

Data Locations

  • Blog Posts - content/posts
  • Docs - content/docs
  • Theme - themes/bookstack

Hacks

The website also contains a repository of customization hacks which can be found at the /hacks part of the site. These are managed via a separate "Hacks" repo which is part of this repository as a git submodule. A symlink is then used to point the content/hacks directory to the hacks/content directory, where hacks is the submodule location.

Theme

The theme is custom made with snippets taken from the hugo capser theme.

SCSS is used for the styling. Install NPM dependencies via npm install or yarn then you can use npm run build to build the css and site once or npm run dev to watch for changes.

Search is handled via Meilisearch. A nightly scrape runs to index the site pages for search. This is all docker-based, and the configuration used can be found in the search/ directory of this repo. Note, for localhost usage with a port, "allowed_domains": ["localhost"], should be added to the scraper config.json. [ref].

Relevant Projects:

  • Meilisearch - The search engine used.
  • docs-scraper - Used to scrape the site to index.
  • docs-searchbar.js - The JS implementation used for the site search bar.
    • I copy in the latest CDN dist files into this project.
    • I edit the JS file to remove the "Powered by Meilisearch" logo to prevent external requests.