My website. For free thanks to the generosity of Github. In return I offer you my data.
Posts are generated using a combination of Markdown files and a custom static site generator that converts them to HTML.
- Run the post GUI with Docker Compose:
docker compose up post_gui --remove-orphans --abort-on-container-exit- Select a Markdown file, enter title and date, and select appropriate tags
- Click "Create Post" to generate the HTML and update the indices
Each post is stored in /webpage/posts/YYYYMMDD_title with:
post.html- The generated HTML contentmeta.json- Metadata including title, date, tags, and snippet- Any media files (images, videos) referenced in the post
If you need to regenerate all index files without creating a new post:
docker compose run --rm update_indexThis will scan all posts and generate index files for all tags and an index of all posts.
A repository with just vanilla HTML, CSS, and JavaScript can be added to the apps dir as a submodule. Just make sure the workflow includes submodules like:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: trueCreate a .env file in the .docker directory with:
OBSIDIAN_PATH=/path/to/your/obsidian/vault
This tells the container where to find your Markdown files.
The site can be viewed locally by running:
docker compose up view_page --remove-orphans --abort-on-container-exitThen navigate to http://localhost:8080.