mirror of
https://github.com/tiennm99/tsuki.git
synced 2026-06-06 12:14:22 +00:00
6f8a6304b5c0e754e1ae0ffd13ce48ff4aa87d92
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%