tiennm99 7468f3afba feat: v0.2 polish & SEO
Bundle of four small additions for the v0.2 release. All strictly
additive — no breaking changes; v0.1 sites upgrade without edits.

Phase 1 — Color theme presets
- Refactor static/css/bonsai.css: palette vars now scoped per
  [data-bonsai-theme]; layout vars (radius/gap/pad/fonts) stay in :root
- Four palettes: bonsai (default, vermilion+washi), sakura (cherry
  blossom), sumi (monochrome ink), koi (orange+cream). Light + dark
  variants each, both prefers-color-scheme and manual data-theme override
- New params.colorTheme (default 'bonsai'); applied via baseof
- Themes gallery at exampleSite /themes/ shows all 4 side-by-side

Phase 2 — schema.org Person markup
- New layouts/partials/schema-person.html emits JSON-LD ProfilePage
  containing a Person (built from name/bio/avatar/links + optional
  jobTitle/location/email)
- mailto: and tel: links excluded from sameAs
- Suppress with params.schema = false
- Wired into head.html

Phase 3 — Theme toggle UI button
- New layouts/partials/theme-toggle-button.html (sun/moon SVGs)
- Rendered in footer when params.themeToggle = true
- aria-pressed reflects current state; updated theme-toggle.js to
  sync on click and on first paint
- Sun shown in dark mode, moon in light (button shows target state)
- exampleSite enables the toggle by default for demo

Phase 4 — Avatar initials fallback
- New layouts/partials/avatar.html: img if params.avatar set,
  inline SVG circle with initials otherwise
- Initials auto-derived from params.name (first letter of up to 2
  words, uppercased); override with params.avatarInitials
- Background overrideable with params.avatarBg; defaults to accent
- bio-card.html simplified to delegate to the partial
2026-05-03 11:11:39 +07:00
2026-05-03 11:11:39 +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%