My personal website.
The website is built with a fairly simple python package I wrote. This might end up going into its own repository in the future.
Features: Jinja templating, Blog (Optional) with RSS, syntax highlighting and markdown support
Configuration sits inside configuration.toml.
This is used to configure the blog, define jinja2 template variables and individual web pages.
| dir | desc |
|---|---|
| assets | Contains static assets for the website (Stylesheets, js, images etc) |
| blog | Contains markdown files. Each one is treated as an individual blog post. |
| templates | Contains jinja2 templates. These are used as base templates for individual pages or for the blog. |
| content-templates | Contains jinja2 templates. Every template in this folder gets treated as an individual page. |
| output | Contains the built website. This folder gets created automatically during runtime. |
You can build the website by running the create_website script with uv
uv run create_websiteIf you want to test locally you can use pythons built in web server. You can also set LOG_LEVEL env var for debugging.
LOG_LEVEL=DEBUG uv run create_website && python -m http.server 8000 -d outputSetting a custom path for data and output
DATA_LOCATION=data/is/here OUTPUT_LOCATION=build/the/website/here uv run create_websiteClean output directory and log file
uv run cleanYou can generate a python3 .whl distributable and install with pip
uv build
cd dist
pip3 install create_website-0.1.0-py3-none-any.whl