Repository for agill.xyz and its Nginx configuration.
To develop locally, do
docker compose rm -f && docker compose upand access the site at http://localhost.
The only difference between dev and prod is the ACME SSL certificate management.
docker compose --profile prod up -d
docker compose --profile prod logs -fTo debug Nginx redirection rules, you can modify/run
$ ./scripts/check-redirects.sh
URL Resolved URL HTTP Response
http://localhost http://localhost/ 200
http://localhost/ http://localhost/ 200
http://localhost/index.html http://localhost/ 200
http://localhost/index http://localhost/index 200
http://localhost/css http://localhost/css/ 200
http://localhost/css/ http://localhost/css/ 200
http://localhost/css/index.html http://localhost/css/ 200
http://localhost/vim http://localhost/vim 200
http://localhost/vim/ http://localhost/vim/ 200
http://localhost/vim/index.html http://localhost/vim/ 200
http://localhost/vim/index http://localhost/vim/index 200
http://localhost/vim.html http://localhost/vim 200
http://localhost/vim/text-objects http://localhost/vim/text-objects 200
http://localhost/vim/text-objects/ http://localhost/vim/text-objects 200
http://localhost/vim/text-objects.html http://localhost/vim/text-objects 200
http://localhost/vim/text-objects/index.html http://localhost/vim/text-objects 200
http://localhost/graphviz http://localhost/graphviz 200
http://localhost/graphviz/ http://localhost/graphviz 200
http://localhost/graphviz.html http://localhost/graphviz 200
http://localhost/graphviz/index.html http://localhost/graphviz 200
http://localhost/404.html http://localhost/404 404Both the RSS feed generation and draft rendering scripts require Python dependencies.
python -m venv --prompt website .venv
source .venv/bin/activate
pip install -r requirements.txtTo update the https://agill.xyz/rss.xml RSS feed, run
./scripts/rss.shRun the script
# You probably want to do this in a venv
pip install -r requirements.txt
./scripts/drafts.shthis will render each draft in drafts/*.md to HTML pages in root/drafts/*.html accessible at
http://localhost/drafts. When it comes time to publish a draft,
- Move the generated HTML from
root/drafts/toroot/ - Edit the
root/index.htmlwith a link and appropriate date/description