Now, rather than urls of the form: domain.com/blog/something.html my website has urls of the form domain.com/blog/something/ Inside the something folder, there are gmi, html and md index files. Nginx will try to serve an appropriate file based on the requested content type. Gemini will also use the same folder structure, serving the gmi file. |
||
---|---|---|
assets | ||
bin | ||
content | ||
nginx | ||
templates | ||
.gitignore | ||
docker-compose.yml | ||
Makefile | ||
README.md |
Source code for my website
This is the source code for my website: https://jonathanh.co.uk.
The site is built from markdown using pandoc.
build.sh
There is a bash script, build.sh, that creates the necessary files in a public_html
folder.
This can then be hosted on any hosting service.
The script takes the following commands:
Clean
build.sh clean
This will remove the contents of the public_html folder and the tmp folder the script uses to store things like the tag list
Tags
build.sh tags
This will build the taglist which is used internally and stored in the tmp
folder as well as creating archive pages for each tag
Blog
build.sh blog
This will build the blog pages for any blogs that have been modified since the last time blogs were built
Index
build.sh index
This will generate the homepage.
Card
build.sh card
Generates my curlable business card.
RSS
build.sh rss
Generates my rss feed.
All
build.sh all
This will generate the tags, the blogs, the index, the RSS feed and the card.
Docker
To run locally, make sure docker and docker-compose are installed then run docker-compose up
. You will be able to access the site at http://localhost:8080.