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_website
If 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 output
Setting a custom path for data and output
DATA_LOCATION=data/is/here OUTPUT_LOCATION=build/the/website/here uv run create_website
Clean output directory and log file
uv run clean
You 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