diff --git a/_includes/components/blog-sidebar.njk b/_includes/components/blog-sidebar.njk index c108cdb..1b83057 100644 --- a/_includes/components/blog-sidebar.njk +++ b/_includes/components/blog-sidebar.njk @@ -1,6 +1,7 @@ {# Blog Sidebar - Shown on individual post pages #} {# Data-driven when homepageConfig.blogPostSidebar is configured, otherwise falls back to default widgets #} {# Each widget is wrapped in a collapsible container with localStorage persistence #} +{% from "components/icon.njk" import icon %} {% if homepageConfig and homepageConfig.blogPostSidebar and homepageConfig.blogPostSidebar.length %} {# === Data-driven mode: render configured widgets === #} @@ -28,6 +29,41 @@ {% else %}{% set widgetTitle = widget.type %} {% endif %} + {# Resolve widget icon and accent border #} + {% if widget.type == "social-activity" %} + {% set widgetIcon = "globe" %}{% set widgetIconClass = "w-5 h-5 text-[#0085ff]" %}{% set widgetBorder = "border-l-[3px] border-l-[#0085ff]" %} + {% elif widget.type == "github-repos" %} + {% set widgetIcon = "github" %}{% set widgetIconClass = "w-5 h-5 text-surface-800 dark:text-surface-200" %}{% set widgetBorder = "border-l-[3px] border-l-surface-400 dark:border-l-surface-500" %} + {% elif widget.type == "funkwhale" %} + {% set widgetIcon = "headphones" %}{% set widgetIconClass = "w-5 h-5 text-purple-500" %}{% set widgetBorder = "border-l-[3px] border-l-purple-400 dark:border-l-purple-500" %} + {% elif widget.type == "blogroll" %} + {% set widgetIcon = "book-open" %}{% set widgetIconClass = "w-5 h-5 text-amber-500" %}{% set widgetBorder = "border-l-[3px] border-l-amber-400 dark:border-l-amber-500" %} + {% elif widget.type == "feedland" %} + {% set widgetIcon = "rss" %}{% set widgetIconClass = "w-5 h-5 text-amber-500" %}{% set widgetBorder = "border-l-[3px] border-l-amber-400 dark:border-l-amber-500" %} + {% elif widget.type == "subscribe" %} + {% set widgetIcon = "rss" %}{% set widgetIconClass = "w-5 h-5 text-orange-500" %}{% set widgetBorder = "border-l-[3px] border-l-orange-400 dark:border-l-orange-500" %} + {% elif widget.type == "fediverse-follow" %} + {% set widgetIcon = "user-plus" %}{% set widgetIconClass = "w-5 h-5 text-[#a730b8]" %}{% set widgetBorder = "border-l-[3px] border-l-[#a730b8]" %} + {% elif widget.type == "author-card" or widget.type == "author-card-compact" %} + {% set widgetIcon = "user" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "recent-posts" %} + {% set widgetIcon = "list" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "categories" or widget.type == "post-categories" %} + {% set widgetIcon = "tag" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "recent-comments" %} + {% set widgetIcon = "chat" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "search" %} + {% set widgetIcon = "search" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "webmentions" %} + {% set widgetIcon = "share" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "toc" %} + {% set widgetIcon = "list" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "share" %} + {% set widgetIcon = "share" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% else %} + {% set widgetIcon = "" %}{% set widgetIconClass = "" %}{% set widgetBorder = "" %} + {% endif %} + {% set widgetKey = "post-widget-" + widget.type + "-" + loop.index0 %} {% set defaultOpen = "true" if loop.index0 < 3 else "false" %} @@ -36,13 +72,16 @@ class="widget-collapsible mb-4" x-data="{ open: localStorage.getItem('{{ widgetKey }}') !== null ? localStorage.getItem('{{ widgetKey }}') === 'true' : {{ defaultOpen }} }" > -
+
@@ -144,7 +183,7 @@
@@ -158,7 +197,7 @@
@@ -172,7 +211,7 @@
@@ -186,7 +225,7 @@
@@ -200,7 +239,7 @@
@@ -212,9 +251,9 @@ {# Subscribe #} {% set widgetKey = "post-fb-subscribe" %}
-
+
@@ -228,7 +267,7 @@
diff --git a/_includes/components/homepage-sidebar.njk b/_includes/components/homepage-sidebar.njk index 140beb5..02afd05 100644 --- a/_includes/components/homepage-sidebar.njk +++ b/_includes/components/homepage-sidebar.njk @@ -1,5 +1,7 @@ {# Homepage Builder Sidebar — renders widgets from homepageConfig.sidebar #} {# Each widget is wrapped in a collapsible container with localStorage persistence #} +{% from "components/icon.njk" import icon %} + {% if homepageConfig.sidebar and homepageConfig.sidebar.length %} {% for widget in homepageConfig.sidebar %} @@ -20,6 +22,37 @@ {% else %}{% set widgetTitle = widget.type %} {% endif %} + {# Resolve widget icon and accent border #} + {% if widget.type == "social-activity" %} + {% set widgetIcon = "globe" %}{% set widgetIconClass = "w-5 h-5 text-[#0085ff]" %}{% set widgetBorder = "border-l-[3px] border-l-[#0085ff]" %} + {% elif widget.type == "github-repos" %} + {% set widgetIcon = "github" %}{% set widgetIconClass = "w-5 h-5 text-surface-800 dark:text-surface-200" %}{% set widgetBorder = "border-l-[3px] border-l-surface-400 dark:border-l-surface-500" %} + {% elif widget.type == "funkwhale" %} + {% set widgetIcon = "headphones" %}{% set widgetIconClass = "w-5 h-5 text-purple-500" %}{% set widgetBorder = "border-l-[3px] border-l-purple-400 dark:border-l-purple-500" %} + {% elif widget.type == "blogroll" %} + {% set widgetIcon = "book-open" %}{% set widgetIconClass = "w-5 h-5 text-amber-500" %}{% set widgetBorder = "border-l-[3px] border-l-amber-400 dark:border-l-amber-500" %} + {% elif widget.type == "feedland" %} + {% set widgetIcon = "rss" %}{% set widgetIconClass = "w-5 h-5 text-amber-500" %}{% set widgetBorder = "border-l-[3px] border-l-amber-400 dark:border-l-amber-500" %} + {% elif widget.type == "subscribe" %} + {% set widgetIcon = "rss" %}{% set widgetIconClass = "w-5 h-5 text-orange-500" %}{% set widgetBorder = "border-l-[3px] border-l-orange-400 dark:border-l-orange-500" %} + {% elif widget.type == "fediverse-follow" %} + {% set widgetIcon = "user-plus" %}{% set widgetIconClass = "w-5 h-5 text-[#a730b8]" %}{% set widgetBorder = "border-l-[3px] border-l-[#a730b8]" %} + {% elif widget.type == "author-card" %} + {% set widgetIcon = "user" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "recent-posts" %} + {% set widgetIcon = "list" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "categories" %} + {% set widgetIcon = "tag" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "recent-comments" %} + {% set widgetIcon = "chat" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "search" %} + {% set widgetIcon = "search" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% elif widget.type == "webmentions" %} + {% set widgetIcon = "share" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} + {% else %} + {% set widgetIcon = "" %}{% set widgetIconClass = "" %}{% set widgetBorder = "" %} + {% endif %} + {% set widgetKey = "widget-" + widget.type + "-" + loop.index0 %} {% set defaultOpen = "true" if loop.index0 < 3 else "false" %} @@ -28,13 +61,16 @@ class="widget-collapsible mb-4" x-data="{ open: localStorage.getItem('{{ widgetKey }}') !== null ? localStorage.getItem('{{ widgetKey }}') === 'true' : {{ defaultOpen }} }" > -
+
@@ -135,9 +170,9 @@ {# Social Activity — Bluesky/Mastodon feeds #} {% set widgetKey = "listing-fb-social-activity" %}
-
+
@@ -149,9 +184,9 @@ {# GitHub Repos #} {% set widgetKey = "listing-fb-github-repos" %}
-
+
@@ -163,9 +198,9 @@ {# Funkwhale — Now Playing / Listening Stats #} {% set widgetKey = "listing-fb-funkwhale" %}
-
+
@@ -179,7 +214,7 @@
@@ -192,9 +227,9 @@ {% if blogrollStatus and blogrollStatus.source == "indiekit" %} {% set widgetKey = "listing-fb-blogroll" %}
-
+
@@ -208,9 +243,9 @@ {% if blogrollStatus and blogrollStatus.source == "indiekit" %} {% set widgetKey = "listing-fb-feedland" %}
-
+
@@ -225,7 +260,7 @@
@@ -239,7 +274,7 @@
diff --git a/_includes/components/webmentions.njk b/_includes/components/webmentions.njk index c8de85e..87befda 100644 --- a/_includes/components/webmentions.njk +++ b/_includes/components/webmentions.njk @@ -194,7 +194,7 @@ > diff --git a/_includes/components/widgets/recent-posts.njk b/_includes/components/widgets/recent-posts.njk index 13b8a78..95092db 100644 --- a/_includes/components/widgets/recent-posts.njk +++ b/_includes/components/widgets/recent-posts.njk @@ -60,11 +60,11 @@ {% elif replyToUrl %}
-
- + Reply to {{ replyToUrl | replace("https://", "") | truncate(40) }}
@@ -375,13 +375,13 @@
-

Powered by Indiekit + Eleventy

+

Powered by Indiekit + Eleventy