diff --git a/themes/bonsai/CHANGELOG.md b/themes/bonsai/CHANGELOG.md index 3c72035..5f3c4c3 100644 --- a/themes/bonsai/CHANGELOG.md +++ b/themes/bonsai/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project are documented here. Format follows [Keep a ### Added - **Favicon polish** — opt-in `params.faviconSvg` and `params.appleTouchIcon` for SVG and iOS home-screen icons. Default behavior unchanged when unset. - **Demo-only gallery CSS** — `/themes/` and `/variants/` pages load a separate `static/css/gallery.css`; `static/css/bonsai.css` no longer ships gallery selectors to user sites. Saves ~1.9 KB raw / ~200 B gzipped on every real site. New `head_extra` block in `baseof.html` enables per-page stylesheet additions. +- **10 new icons** — set grows from 35 to 45. Brand additions: `bandcamp`, `soundcloud`, `spotify`, `figma`, `dribbble`, `stackoverflow`, `matrix`. Utility additions: `bookopen`, `download`, `heart`. Vendored from Simple Icons v13 (CC0) and Lucide v0.460 (ISC) at the same versions; soft ceiling for v0-line is ~50. ### Changed - **A11y** — sakura accent darkened `#d4456a → #c93f63` (4.04 → 4.49 vs bg) and koi accent darkened `#c8521e → #bd4c1c` (4.17 → 4.63 vs bg) to reach WCAG AA on the gallery accent chip. Brand intent preserved (cherry blossom pink / koi orange). README hex table synced. diff --git a/themes/bonsai/README.md b/themes/bonsai/README.md index 6ee369f..84b103d 100644 --- a/themes/bonsai/README.md +++ b/themes/bonsai/README.md @@ -16,7 +16,7 @@ Bonsai treats your bio page the same way: a quiet, well-pruned page that surface - **Single-page bio** — name, avatar, tagline, links. Nothing else. - **Data-driven links** — defined in `[[params.links]]`; no content files required. -- **35 icons out of the box** — 25 brand (GitHub, Mastodon, Bluesky, X, Threads, LinkedIn, Instagram…) + 10 utility (mail, globe, rss…). Vendored from [Simple Icons](https://simpleicons.org) and [Lucide](https://lucide.dev). +- **45 icons out of the box** — 32 brand (GitHub, Mastodon, Bluesky, Spotify, Figma, Matrix…) + 13 utility (mail, globe, rss, heart, download…). Vendored from [Simple Icons](https://simpleicons.org) and [Lucide](https://lucide.dev). - **Light & dark mode** — respects `prefers-color-scheme`; optional toggle. - **Zero JavaScript by default** — pure HTML + CSS; opt-in JS for theme toggle only. - **Fast** — < 3 KB gzipped CSS, no web fonts (system stack), no runtime fetches. @@ -167,7 +167,7 @@ Missing keys fall back to `en`. User content (`name`, `tagline`, `bio`, link `ti ## Available Icons
-Brand / Social (25) +Brand / Social (32) | Name | Source | |------|--------| @@ -196,11 +196,18 @@ Missing keys fall back to `en`. User content (`name`, `tagline`, `bio`, link `ti | `patreon` | Simple Icons | | `buymeacoffee` | Simple Icons | | `paypal` | Simple Icons | +| `bandcamp` | Simple Icons | +| `soundcloud` | Simple Icons | +| `spotify` | Simple Icons | +| `figma` | Simple Icons | +| `dribbble` | Simple Icons | +| `stackoverflow` | Simple Icons | +| `matrix` | Simple Icons |
-UI / Utility (10) +UI / Utility (13) | Name | Source | |------|--------| @@ -214,6 +221,9 @@ Missing keys fall back to `en`. User content (`name`, `tagline`, `bio`, link `ti | `filetext` | Lucide | | `extlink` | Lucide | | `share` | Lucide | +| `bookopen` | Lucide | +| `download` | Lucide | +| `heart` | Lucide |
diff --git a/themes/bonsai/assets/icons/brand/bandcamp.svg b/themes/bonsai/assets/icons/brand/bandcamp.svg new file mode 100644 index 0000000..8bb9b92 --- /dev/null +++ b/themes/bonsai/assets/icons/brand/bandcamp.svg @@ -0,0 +1 @@ +Bandcamp diff --git a/themes/bonsai/assets/icons/brand/dribbble.svg b/themes/bonsai/assets/icons/brand/dribbble.svg new file mode 100644 index 0000000..a505921 --- /dev/null +++ b/themes/bonsai/assets/icons/brand/dribbble.svg @@ -0,0 +1 @@ +Dribbble diff --git a/themes/bonsai/assets/icons/brand/figma.svg b/themes/bonsai/assets/icons/brand/figma.svg new file mode 100644 index 0000000..2bcf9f2 --- /dev/null +++ b/themes/bonsai/assets/icons/brand/figma.svg @@ -0,0 +1 @@ +Figma diff --git a/themes/bonsai/assets/icons/brand/matrix.svg b/themes/bonsai/assets/icons/brand/matrix.svg new file mode 100644 index 0000000..4a5b837 --- /dev/null +++ b/themes/bonsai/assets/icons/brand/matrix.svg @@ -0,0 +1 @@ +Matrix diff --git a/themes/bonsai/assets/icons/brand/soundcloud.svg b/themes/bonsai/assets/icons/brand/soundcloud.svg new file mode 100644 index 0000000..337bafc --- /dev/null +++ b/themes/bonsai/assets/icons/brand/soundcloud.svg @@ -0,0 +1 @@ +SoundCloud diff --git a/themes/bonsai/assets/icons/brand/spotify.svg b/themes/bonsai/assets/icons/brand/spotify.svg new file mode 100644 index 0000000..d4f5e5c --- /dev/null +++ b/themes/bonsai/assets/icons/brand/spotify.svg @@ -0,0 +1 @@ +Spotify diff --git a/themes/bonsai/assets/icons/brand/stackoverflow.svg b/themes/bonsai/assets/icons/brand/stackoverflow.svg new file mode 100644 index 0000000..1dc6081 --- /dev/null +++ b/themes/bonsai/assets/icons/brand/stackoverflow.svg @@ -0,0 +1 @@ +Stack Overflow diff --git a/themes/bonsai/assets/icons/ui/book-open.svg b/themes/bonsai/assets/icons/ui/book-open.svg new file mode 100644 index 0000000..d2fa1d5 --- /dev/null +++ b/themes/bonsai/assets/icons/ui/book-open.svg @@ -0,0 +1,15 @@ + + + + diff --git a/themes/bonsai/assets/icons/ui/download.svg b/themes/bonsai/assets/icons/ui/download.svg new file mode 100644 index 0000000..3241598 --- /dev/null +++ b/themes/bonsai/assets/icons/ui/download.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/themes/bonsai/assets/icons/ui/heart.svg b/themes/bonsai/assets/icons/ui/heart.svg new file mode 100644 index 0000000..8b163af --- /dev/null +++ b/themes/bonsai/assets/icons/ui/heart.svg @@ -0,0 +1,14 @@ + + + diff --git a/themes/bonsai/data/icons.yaml b/themes/bonsai/data/icons.yaml index 762e89f..da8331b 100644 --- a/themes/bonsai/data/icons.yaml +++ b/themes/bonsai/data/icons.yaml @@ -30,6 +30,13 @@ kofi: { family: brand, slug: kofi } patreon: { family: brand, slug: patreon } buymeacoffee: { family: brand, slug: buymeacoffee } paypal: { family: brand, slug: paypal } +bandcamp: { family: brand, slug: bandcamp } +soundcloud: { family: brand, slug: soundcloud } +spotify: { family: brand, slug: spotify } +figma: { family: brand, slug: figma } +dribbble: { family: brand, slug: dribbble } +stackoverflow: { family: brand, slug: stackoverflow } +matrix: { family: brand, slug: matrix } # --- UI / Utility --- mail: { family: ui, slug: mail } @@ -42,3 +49,6 @@ mappin: { family: ui, slug: map-pin } filetext: { family: ui, slug: file-text } extlink: { family: ui, slug: external-link } share: { family: ui, slug: share-2 } +bookopen: { family: ui, slug: book-open } +download: { family: ui, slug: download } +heart: { family: ui, slug: heart } diff --git a/themes/bonsai/scripts/sync-icons.sh b/themes/bonsai/scripts/sync-icons.sh index c4b8514..3b5ba96 100755 --- a/themes/bonsai/scripts/sync-icons.sh +++ b/themes/bonsai/scripts/sync-icons.sh @@ -31,6 +31,7 @@ BRAND_ICONS=( github gitlab mastodon bluesky x threads linkedin instagram facebook tiktok youtube twitch discord telegram signal whatsapp reddit medium devdotto substack hashnode kofi patreon buymeacoffee paypal + bandcamp soundcloud spotify figma dribbble stackoverflow matrix ) fetch_brand() { @@ -64,6 +65,7 @@ done # --------------------------------------------------------------------------- UI_ICONS=( mail globe link rss calendar phone map-pin file-text external-link share-2 + book-open download heart ) fetch_ui() {