From 5259509a3cdead870202668ff5eac3cf2f07eda0 Mon Sep 17 00:00:00 2001
From: svemagie <869694+svemagie@users.noreply.github.com>
Date: Sun, 15 Mar 2026 08:45:09 +0100
Subject: [PATCH] =?UTF-8?q?feat:=20add=20evergreen=20garden=20stage=20(?=
=?UTF-8?q?=F0=9F=8C=B3)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Inspired by Maggie Appleton / Andy Matuschak — evergreen notes are
mature and reasonably complete but still alive and growing.
Sits between cultivate and question in the stage order.
Rendered in teal to distinguish from the green seedling/growing stages.
Co-Authored-By: Claude Sonnet 4.6
---
content/.indiekit/homepage.json | 2 +-
css/tailwind.css | 6 +++++-
eleventy.config.js | 1 +
garden.njk | 4 ++--
4 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/content/.indiekit/homepage.json b/content/.indiekit/homepage.json
index 3571169..a94807a 100644
--- a/content/.indiekit/homepage.json
+++ b/content/.indiekit/homepage.json
@@ -1 +1 @@
-{"layout":"full-width-hero","hero":{"enabled":true,"showSocial":true},"sections":[{"type":"recent-posts","config":{"maxItems":6,"postTypes":["note","article"]}}],"sidebar":[{"type":"recent-posts","config":{"maxItems":5}},{"type":"social-activity","config":{}},{"type":"github-repos","config":{}},{"type":"funkwhale","config":{}},{"type":"webmentions","config":{}},{"type":"fediverse-follow","config":{}}],"blogListingSidebar":[{"type":"recent-posts","config":{}},{"type":"social-activity","config":{}},{"type":"github-repos","config":{}},{"type":"funkwhale","config":{}},{"type":"fediverse-follow","config":{}}],"blogPostSidebar":[{"type":"author-card-compact","config":{}},{"type":"toc","config":{}},{"type":"post-categories","config":{}},{"type":"share","config":{}},{"type":"fediverse-follow","config":{}}],"footer":[{"type":"posting-activity","config":{}}],"identity":{"name":"svemagie","avatar":"https://blog.giersig.eu/images/cy-me2.webp","title":"pedestrian sociologist, mostly harmless","pronoun":"","bio":"A personal IndieWeb home. Long reads and loose notes, links and hunches, experiments in writing and thinking. My corner of the internet. Unsponsored, unoptimized, mine.","description":"","locality":"","country":"","org":"","url":"","email":"svemagie@anche.no","keyUrl":"https://keys.openpgp.org/vks/v1/by-fingerprint/38180708ACB8A61A1C53D170B9867870D8871475","categories":[],"social":[{"name":"Fedify","url":"https://blog.giersig.eu/activitypub/users/svemagie","rel":"me","icon":"activitypub"},{"name":"Mastodon","url":"https://troet.cafe/@svemagie","rel":"me","icon":"mastodon"},{"name":"Bluesky","url":"https://bsky.app/profile/svemagie.bsky.social","rel":"me","icon":"bluesky"},{"name":"Github","url":"https://github.com/svemagie","rel":"me","icon":"github"},{"name":"Indieweb","url":"https://indieweb.org/User:Blog.giersig.eu","rel":"me","icon":"indieweb"}]},"updatedAt":"2026-03-08T17:55:53.307Z"}
+{"layout":"full-width-hero","hero":{"enabled":true,"showSocial":true},"sections":[{"type":"recent-posts","config":{"maxItems":6,"postTypes":["note","article"]}}],"sidebar":[{"type":"recent-posts","config":{"maxItems":5}},{"type":"social-activity","config":{}},{"type":"github-repos","config":{}},{"type":"funkwhale","config":{}},{"type":"webmentions","config":{}},{"type":"fediverse-follow","config":{}}],"blogListingSidebar":[{"type":"recent-posts","config":{}},{"type":"social-activity","config":{}},{"type":"github-repos","config":{}},{"type":"funkwhale","config":{}},{"type":"fediverse-follow","config":{}}],"blogPostSidebar":[{"type":"author-card-compact","config":{}},{"type":"toc","config":{}},{"type":"post-categories","config":{}},{"type":"share","config":{}},{"type":"fediverse-follow","config":{}}],"footer":[{"type":"posting-activity","config":{}}],"identity":{"name":"svemagie","avatar":"https://blog.giersig.eu/images/cy-me2.webp","title":"pedestrian sociologist, mostly harmless","pronoun":"","bio":"A personal IndieWeb home. Long reads and loose notes, links and hunches, experiments in writing and thinking. My corner of the internet. Unsponsored, unoptimized, mine.","description":"","locality":"","country":"","org":"","url":"","email":"svemagie@anche.no","keyUrl":"https://keys.openpgp.org/vks/v1/by-fingerprint/38180708ACB8A61A1C53D170B9867870D8871475","categories":[],"social":[{"name":"Fedify","url":"https://blog.giersig.eu/activitypub/users/svemagie","rel":"me","icon":"activitypub"},{"name":"Bluesky","url":"https://bsky.app/profile/svemagie.bsky.social","rel":"me","icon":"bluesky"},{"name":"Github","url":"https://github.com/svemagie","rel":"me","icon":"github"},{"name":"Indieweb","url":"https://indieweb.org/User:Blog.giersig.eu","rel":"me","icon":"indieweb"}]},"updatedAt":"2026-03-08T17:55:53.307Z"}
diff --git a/css/tailwind.css b/css/tailwind.css
index 136de17..1b6d6cf 100644
--- a/css/tailwind.css
+++ b/css/tailwind.css
@@ -990,7 +990,7 @@ body[data-indiekit-auth="true"] .share-post-btn:hover {
/* ============================================================
Digital Garden — stage badges
Used by _includes/components/garden-badge.njk
- Stages: plant · cultivate · question · repot · revitalize · revisit
+ Stages: plant · cultivate · evergreen · question · repot · revitalize · revisit
============================================================ */
@layer components {
.garden-badge {
@@ -1004,6 +1004,10 @@ body[data-indiekit-auth="true"] .share-post-btn:hover {
@apply bg-emerald-100 text-emerald-800 border-emerald-200 hover:bg-emerald-200
dark:bg-emerald-900/30 dark:text-emerald-300 dark:border-emerald-800 dark:hover:bg-emerald-900/50;
}
+ .garden-badge--evergreen {
+ @apply bg-teal-100 text-teal-800 border-teal-200 hover:bg-teal-200
+ dark:bg-teal-900/30 dark:text-teal-300 dark:border-teal-800 dark:hover:bg-teal-900/50;
+ }
.garden-badge--question {
@apply bg-yellow-100 text-yellow-800 border-yellow-200 hover:bg-yellow-200
dark:bg-yellow-900/30 dark:text-yellow-300 dark:border-yellow-800 dark:hover:bg-yellow-900/50;
diff --git a/eleventy.config.js b/eleventy.config.js
index b61f469..b6526a8 100644
--- a/eleventy.config.js
+++ b/eleventy.config.js
@@ -941,6 +941,7 @@ export default function (eleventyConfig) {
const stages = {
plant: { label: "Seedling", emoji: "🌱", description: "Newly planted idea" },
cultivate: { label: "Growing", emoji: "🌿", description: "Being actively developed" },
+ evergreen: { label: "Evergreen", emoji: "🌳", description: "Mature and reasonably complete, still growing" },
question: { label: "Open Question", emoji: "❓", description: "Open for exploration" },
repot: { label: "Repotting", emoji: "🪴", description: "Being restructured" },
revitalize: { label: "Revitalizing", emoji: "✨", description: "Being refreshed and updated" },
diff --git a/garden.njk b/garden.njk
index 51e5522..9ad08c1 100644
--- a/garden.njk
+++ b/garden.njk
@@ -19,7 +19,7 @@ pagefindIgnore: true
{# Stage legend #}
- {% set _allStages = ["plant", "cultivate", "question", "repot", "revitalize", "revisit"] %}
+ {% set _allStages = ["plant", "cultivate", "evergreen", "question", "repot", "revitalize", "revisit"] %}
{% for _s in _allStages %}
{% set _info = _s | gardenStageInfo %}
{% if _info %}
@@ -33,7 +33,7 @@ pagefindIgnore: true
{# ── Posts grouped by stage ──────────────────────────────────────────── #}
- {% set _stages = ["plant", "cultivate", "question", "repot", "revitalize", "revisit"] %}
+ {% set _stages = ["plant", "cultivate", "evergreen", "question", "repot", "revitalize", "revisit"] %}
{% for _stage in _stages %}