This is the source code to the Dreaming Spires website, hosted at https://dreamingspires.dev. It is licensed under Creative Commons BY 4.0, giving you the freedom to share and adapt this work provided that appropriate credit is given. More details can be found at https://creativecommons.org/licenses/by/4.0/.
This website is entirely static, meaning that it exists in compiled form as a set of unchanging HTML, CSS, and Javascript files. This makes it easy to maintain, boasting speedy loading times, low resource requirements, compatibility with every browser, and good accessibility. As a result, this website can run basically anywhere, even on the cheapest VPS instances available.
Dynamic content, such as form uploads and interfacing with git providers for the admin interface, are provided by minimal server processes which each handle that one job.
Built as a static site with kiln, and styled with Bulma, with sass packages pulled in through npm. Form submission handled via CORS request to staticforms.
- kiln - the static site generator
- mdtohtml - Convert Markdown to HTML
- npm - used to pull in dependencies
- sass - compile the scss stylesheets to css
- entr - used for watch.sh to rebuild files as they change
- fuse-libs - required for image magick; install with:
sudo dnf install fuse-libs
- imagemagick - used to compress images
- python - used to add environment variable to toml
Install these preferably with your system package manager.
make all
will install and build everything, including the node packages.
make site
will build just the site itself.
The built files will be in ./public
To auto-rebuild on edit, run ./watch
in the root of the repository.
./serve
Then navigate to http://localhost:9000
make publish
will create a finished tarball of the site at ./site.tar.gz
.
This can be copied onto any web hosting server.