tiennm99 7809c0b4c8 feat: i18n string externalization with en + vi bundles
- Move every theme-rendered string (nav aria-label, theme-toggle labels, default footer template) to i18n/{lang}.toml.
- Ship en (default) + vi bundles. Adding a language is a single-file change.
- Hugo selects bundle via defaultContentLanguage (not languageCode); documented in README.
- All i18n calls have | default fallbacks so missing keys never break rendering.
2026-05-03 12:19:26 +07:00
2026-04-29 21:15:26 +07:00
2026-10-03 12:28:08 +07:00

iammiti99

Personal link-in-bio page — built with Hugo and the bonsai theme. Self-hosted Linktree alternative for my own use.

How it works

Edit hugo.yml (params: block) → push to main → GitHub Actions builds with Hugo + bonsai → output deploys to GitHub Pages.

Local development

Requires Hugo Extended ≥ 0.128.

hugo server          # http://localhost:1313
hugo --gc --minify   # build to ./public

Deployment

Every push to main deploys to GitHub Pages. The workflow self-enables Pages on first run via actions/configure-pages@v5 with enablement: true, so no manual UI setup is required for fresh forks (provided Settings → Actions → General → Workflow permissions is set to "Read and write").

(Optional) Custom domain: drop a static/CNAME file containing your apex domain — Hugo will copy it through to the deployed site.

Project layout

hugo.yml                 # site content — edit params here
content/_index.md        # placeholder so Hugo renders the index
static/images/           # avatar etc.
themes/bonsai/           # bonsai theme (in-repo, full history)
.github/workflows/deploy.yml
public/                  # build output (gitignored)

License

Apache License 2.0

S
Description
Personal link-in-bio page — a self-hosted Linktree alternative built with Hugo and the in-repo bonsai theme.
Readme Apache-2.0
1.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
HTML 54.2%
CSS 32.2%
Shell 8.9%
JavaScript 4.7%