# www.sillylaird.ca Static personal site: HTML + CSS + a little JS. No build step. ## Common maintenance - `python3 tools/link_check.py` — internal link sanity check - `python3 tools/html_audit.py` — quick a11y/markup audit - `python3 tools/generate_sitemap.py` — rebuild `sitemap.xml` - `python3 tools/translate_pages.py` — generate missing `*_zh.html`/`*_jp.html` ## Ops helpers - `./tools/backup.sh` — tarball backup (defaults to `/tmp/www.sillylaird.ca-backups`, override with `BACKUP_DIR`) - `./tools/uptime_check.sh` — curl-based uptime check (override target with `URL`) Example cron entries: ```cron # nightly backup at 03:15 UTC 15 3 * * * BACKUP_DIR=/var/backups/www.sillylaird.ca /path/to/tools/backup.sh # hourly uptime check 0 * * * * URL=https://www.sillylaird.ca/ /path/to/tools/uptime_check.sh ``` ## Notes - `sitemap.xml` is generated by `tools/generate_sitemap.py`. - Shared header/footer live in `partials/` and are injected by `assets/js/includes.js`.