The website is hosted at Github pages through https://rendeirolab.github.io, and also at https://rendeiro.group/.
The website is extremely simple, using YAML for content and configuration, and Jinja for templating, such that content and form are separate and can be edited independently using nothing but a plain text editor.
The source files inside templates are the only ones that should be modified during editing.
Bootstrap v5 is used to style the website.
A single Python script is used to generate the website using the YAML config and content files and the templates. It generates the static HTML files in the docs directory, and these are then served through Github pages.
The build script is self contained, using uv script to install dependencies in an isolated environment.
The only build requirements are pyyaml, jinja2, requests, beautifulsoup4, and markdown2.
uv run build.py # installs dependencies and builds the websiteAfter editing, you can render the website with task serve (from taskipy), which simply runs python -m http.server in the docs directory.
If changes look good, commit and push to the main branch.
You can run task deploy which is equivalent to git add [...], git commit [...] and git push origin main.
Github pages will build and commit the docs html files to the gh-pages branch to serve them automatically.