This file contains the contextual knowledge of the repo to help AI agents (Copilot, etc.) understand the technical environment of this portfolio/brag document.
- Static Site Generator: Jekyll
- Data: JSON (
_data/brag.json,_data/talks.json, etc.) - Templates: Liquid
- Styling: Custom CSS / Glassmorphism (via
design-tokens.cssanddefault.html)
To preview and work on the site locally, do not run a classic jekyll serve.
The project uses Docker to avoid polluting the host environment with Ruby/Jekyll. Furthermore, the official Docker image jekyll/jekyll uses a recent Ruby version that no longer includes the webrick dependency natively.
Official command to start the server (with Livereload):
docker run --rm -v "$PWD:/srv/jekyll" -p 4000:4000 -p 35729:35729 --entrypoint bash jekyll/jekyll -c "gem install webrick && jekyll serve --livereload --host 0.0.0.0"--rm: removes the container when stopped.-v "$PWD:/srv/jekyll": mounts the current directory into the server.-p 4000:4000: exposes the main Jekyll web server port.-p 35729:35729: exposes the port for--livereload(auto-refresh page on file changes).--entrypoint bash ... -c "gem install webrick && ...": overrides the image entrypoint to force the installation ofwebrickbefore starting Jekyll.--host 0.0.0.0: mandatory inside a Docker container so the site is accessible from the host machine vialocalhost:4000.
Directories generated by the local build (_site/, .jekyll-cache/, etc.) are already ignored in .gitignore. Never commit them.