tiennm99 c30268759f feat: posts, taxonomies, archive (Phase 5)
- post/list.html paginated section list with post-card
- pagination.html partial (renders only when >1 page)
- _default/taxonomy.html for term lists (/tags/, /categories/) with counts
- taxonomy/term.html for single term pages (paginated posts)
- archives/list.html + archive-group.html: year/month grouped flat list
- exampleSite: 4 new posts across 2025-2026, 2 categories, 4 tags, archive index

Modern Hugo 0.146+ template naming: term.html resolved via taxonomy/
path (Hugo 0.154 lookup ignores _default/term.html).
2026-05-07 21:10:28 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:25:16 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00
2026-05-07 20:27:07 +07:00

tsuki (月)

build license Hugo

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 bonsai in 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 /portfolio section
  • SearchPagefind, zero-runtime, indexed at build time
  • CommentsGiscus (GitHub Discussions)
  • Vietnamese-first — diacritic-safe typography, native vi date formats, Be Vietnam Pro fallback
  • Dark modeprefers-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

Apache-2.0

S
Description
月 — Hugo blog & portfolio theme. Vietnamese-first typography, View Transitions, Pagefind search, Giscus comments.
Readme Apache-2.0
632 KiB
Languages
HTML 47.6%
CSS 36.7%
Shell 9.9%
JavaScript 5.8%