mirror of
https://github.com/tiennm99/iammiti99.git
synced 2026-10-11 03:13:37 +00:00
7468f3afbac2949a5b64778e8b8a0cd79057bda0
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
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
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%