This is my personal website at maxiniuc.com.
Two builders, one output directory:
- Sphinx + ABlog renders the blog (
build/docs/blogs/**). That's all Sphinx does. jarvis landing(a small typer CLI insrc/jarvis/) renders the landing page from JSON data files and copies the presentation / notebook directories into the build root.
The principle is "Sphinx for blogs only." Everything else is hand-crafted HTML/CSS/JS, generated from data files so there is exactly one source of truth per piece of content.
See AGENTS.md for the architecture in detail and the "where do I add X" table.
The project uses pypeline to orchestrate the build. Install it once:
pipx install pypeline-runnerThen build everything (Sphinx blog + jarvis landing, into build/docs/):
pypeline runAlways use pypeline run to regenerate the site — running sphinx-build on its own only produces the blog pages and a stub index.html, leaving the landing and about pages stale.
VS Code tasks for the common commands live in .vscode/tasks.json.