English · Static site for https://zakk.au built with Hugo + Blowfish in English, 繁體中文, and 简体中文. 繁體中文 · 使用 Hugo 與 Blowfish 主題打造的個人部落格,支援英文、繁體中文與簡體中文。
- Hugo
v0.162.0(extended) with the Blowfish themev2.103.0(git submodule). - Asset pipeline via Hugo Pipes (SCSS/JS minify) under
assets/. - Analytics: cloudflare-stats-worker (
/api/count,/api/daily).
content/_index.*.md— home page copy per language.content/posts/— long-form posts (one folder per post; one Markdown file per locale).content/about/,content/timeline/— single pages.- Static assets under
static/.
git submodule update --init --recursive
hugo server --buildDrafts --disableFastRenderVisit http://localhost:1313/. Requires Hugo extended.
hugo --gc --minifyOutput goes to public/. Cloudflare Pages rebuilds on main.
When updating the Blowfish theme, bump the submodule:
cd themes/blowfish
git fetch --tags
git checkout vX.Y.Z
cd ../..
git add themes/blowfish && git commit -m "chore: bump blowfish to vX.Y.Z"- Worker source:
cloudflare-stats-worker/— REST API and standalone dashboard. - Frontend script:
assets/js/cloudflare-stats.jscalls thehttps://stats.zakk.auWorker API at page load. OverrideAPI_BASEto point at your own Worker. - Placeholder integration: Blowfish templates render
views_spans which the script fills in. - Site-wide stats:
/api/stats(nourlparam) returns site totals for both the timeline and the dashboard. - Standalone dashboard: stats.zakk.au — PV/UV, top pages, daily trends, light/dark, English/繁中.
static/robots.txtcarries standardUser-agent/Allow/Sitemapdirectives.
assets/ # JS / SCSS / images
config/ # Hugo configuration (multi-language)
content/ # Markdown content
layouts/ # Custom layouts and partials
static/ # Untouched static files
cloudflare-stats-worker/ # Analytics Worker (submodule)
Typos, translation tweaks, and automation improvements are welcome via Issues or PRs. Theme changes should go in the submodule upstream, not vendored here.
- Blog content: CC BY-NC-SA 4.0.
- Code in this repository: MIT.