1 # BookStack Site, Documentation & Blog
3 This project holds all the data for the https://www.bookstackapp.com/
5 This site is built using [Hugo](https://gohugo.io). Images are stored using `git-lfs`.
6 The "extended" version of hugo must be used (Has support for certain features like WebP resize).
10 * Blog Posts - `content/posts`
11 * Docs - `content/docs`
12 * Theme - `themes/bookstack`
16 The website also contains a repository of customization hacks which can be found at [the /hacks](https://www.bookstackapp.com/hacks/) part of the site.
17 These are managed via a [separate "Hacks" repo](https://github.com/BookStackApp/hacks) 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.
21 The theme is custom made with snippets taken from the [hugo capser theme](https://github.com/vjeantet/hugo-theme-casper).
23 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.
27 Search is handled via [Meilisearch](https://www.meilisearch.com/). A nightly scrape runs to index the site pages for search.
28 This is all docker-based, and the configuration used can be found in the `search/` directory of this repo.
29 Note, for localhost usage with a port, `"allowed_domains": ["localhost"],` should be added to the scraper config.json. [[ref](https://github.com/meilisearch/docs-scraper/issues/103#issuecomment-810736674)].
33 - [Meilisearch](https://github.com/meilisearch/meilisearch) - The search engine used.
34 - [docs-scraper](https://github.com/meilisearch/docs-scraper) - Used to scrape the site to index.
35 - [docs-searchbar.js](https://github.com/meilisearch/docs-searchbar.js) - The JS implementation used for the site search bar.
36 - I copy in the latest CDN dist files into this project.
37 - I edit the JS file to remove the "Powered by Meilisearch" logo to prevent external requests.