mirror of
https://github.com/tiennm99/tsuki.git
synced 2026-05-23 08:26:06 +00:00
4f17588f198d63aaab65cf3b116a8098f8368dfc
- baseof.html with named blocks (head_extra, body_class, main, scripts) - single.html with data-pagefind-body wrapper - list.html using post-card partial - home.html placeholder (Phase 4 fills hero/projects/recent-posts) - 404.html with vi i18n - _partials: head (full meta + OG + Twitter Card + RSS autodiscovery + theme-flash script), header, nav, footer, meta, post-card, icon - Sample post fixture in exampleSite to validate render ci: bump GitHub Actions to Node 24-compatible versions - actions/checkout v4 → v6 - actions/setup-node v4 → v6, node 20 → 22 - actions/upload-pages-artifact v3 → v5 - actions/deploy-pages v4 → v5
tsuki (月)
A Hugo blog + personal portfolio theme. The homepage is the portfolio — bio, featured projects, recent posts. Posts live at /post/. Vietnamese-first typography, View Transitions on navigation, Pagefind search, Giscus comments.
月 (tsuki): the moon. Quiet, observed, returned to. Companion to
bonsaiin the same naming family.
→ Live demo (after first deploy)
Status
🚧 Under construction — initial scaffold. See the implementation plan for what's coming.
Features
- Blog — posts, tags, categories, year-grouped archive
- Personal portfolio on the homepage — driven by
data/profile.yaml+data/projects.yaml, no separate/portfoliosection - Search — Pagefind, zero-runtime, indexed at build time
- Comments — Giscus (GitHub Discussions)
- Vietnamese-first — diacritic-safe typography, native vi date formats, Be Vietnam Pro fallback
- Dark mode —
prefers-color-scheme+ persistent toggle, no flash of wrong theme - View Transitions API — smooth same-document navigation in supporting browsers
- No build step — pure Hugo + browser ES modules. No SCSS, no TypeScript, no bundler in the theme.
- Light — target ≤ 15 KB CSS gzipped, ≤ 8 KB JS gzipped (excluding Pagefind UI)
Quick start
As a git submodule
git submodule add https://github.com/tiennm99/tsuki.git themes/tsuki
Add to your site's hugo.yaml:
theme: tsuki
As a Hugo Module
hugo mod init github.com/<you>/<your-site>
hugo mod get github.com/tiennm99/tsuki
Then add to hugo.yaml:
module:
imports:
- path: github.com/tiennm99/tsuki
Configuration
Documented in docs/config.md (coming soon). For now, see exampleSite/hugo.yaml and exampleSite/data/.
License
Description
月 — Hugo blog + personal portfolio theme. Vietnamese-first typography, View Transitions API, Pagefind search, Giscus comments. Companion to bonsai.
Languages
HTML
47.6%
CSS
36.7%
Shell
9.9%
JavaScript
5.8%