diff --git a/_includes/components/blog-sidebar.njk b/_includes/components/blog-sidebar.njk index 286f819..262aa0f 100644 --- a/_includes/components/blog-sidebar.njk +++ b/_includes/components/blog-sidebar.njk @@ -25,6 +25,7 @@ {% elif widget.type == "toc" %}{% set widgetTitle = "Table of Contents" %} {% elif widget.type == "post-categories" %}{% set widgetTitle = "Categories" %} {% elif widget.type == "share" %}{% set widgetTitle = "Share" %} + {% elif widget.type == "ai-usage" %}{% set widgetTitle = "AI Transparency" %} {% elif widget.type == "custom-html" %}{% set widgetTitle = (widget.config.title if widget.config and widget.config.title) or "Custom" %} {% else %}{% set widgetTitle = widget.type %} {% endif %} @@ -56,6 +57,8 @@ {% 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 == "ai-usage" %} + {% set widgetIcon = "zap" %}{% 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 == "toc" %} {% set widgetIcon = "list" %}{% set widgetIconClass = "w-5 h-5 text-surface-500" %}{% set widgetBorder = "" %} {% elif widget.type == "share" %} @@ -136,6 +139,8 @@ {% include "components/widgets/search.njk" %} {% elif widget.type == "fediverse-follow" %} {% include "components/widgets/fediverse-follow.njk" %} + {% elif widget.type == "ai-usage" %} + {% include "components/widgets/ai-usage.njk" ignore missing %} {% elif widget.type == "custom-html" %} {% set wConfig = widget.config or {} %} diff --git a/_includes/components/homepage-sidebar.njk b/_includes/components/homepage-sidebar.njk index 5fec890..f0b6058 100644 --- a/_includes/components/homepage-sidebar.njk +++ b/_includes/components/homepage-sidebar.njk @@ -18,6 +18,7 @@ {% elif widget.type == "recent-comments" %}{% set widgetTitle = "Recent Comments" %} {% elif widget.type == "fediverse-follow" %}{% set widgetTitle = "Fediverse" %} {% elif widget.type == "author-card" %}{% set widgetTitle = "Author" %} + {% elif widget.type == "ai-usage" %}{% set widgetTitle = "AI Transparency" %} {% elif widget.type == "custom-html" %}{% set widgetTitle = (widget.config.title if widget.config and widget.config.title) or "Custom" %} {% else %}{% set widgetTitle = widget.type %} {% endif %} @@ -49,6 +50,8 @@ {% 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 == "ai-usage" %} + {% set widgetIcon = "zap" %}{% set widgetIconClass = "w-5 h-5 text-amber-500" %}{% set widgetBorder = "border-l-[3px] border-l-amber-400 dark:border-l-amber-500" %} {% else %} {% set widgetIcon = "" %}{% set widgetIconClass = "" %}{% set widgetBorder = "" %} {% endif %} @@ -115,6 +118,8 @@ {% include "components/widgets/recent-comments.njk" %} {% elif widget.type == "fediverse-follow" %} {% include "components/widgets/fediverse-follow.njk" %} + {% elif widget.type == "ai-usage" %} + {% include "components/widgets/ai-usage.njk" ignore missing %} {% elif widget.type == "custom-html" %} {% set wConfig = widget.config or {} %} diff --git a/_includes/components/widgets/ai-usage.njk b/_includes/components/widgets/ai-usage.njk new file mode 100644 index 0000000..03d4557 --- /dev/null +++ b/_includes/components/widgets/ai-usage.njk @@ -0,0 +1,62 @@ +{# AI Usage Widget — compact sidebar version of the /ai/ page AI transparency graph #} +{% set stats = collections.posts | aiStats %} +{% set aiPostsList = collections.posts | aiPosts %} +{% if stats and stats.total > 0 %} + +
+

+ + + + AI Transparency +

+ + {# Mini stats — 2x2 grid #} +
+
+
{{ stats.total }}
+
Total
+
+
+
{{ stats.aiCount }}
+
AI-involved
+
+
+
{{ stats.total - stats.aiCount }}
+
Human-only
+
+
+
{{ stats.percentage }}%
+
AI ratio
+
+
+ + {# Level breakdown — compact pills #} +
+ + L0: {{ stats.byLevel[0] }} + + + L1: {{ stats.byLevel[1] }} + + + L2: {{ stats.byLevel[2] }} + + + L3: {{ stats.byLevel[3] }} + +
+ + {# Compact post-graph — current year only, AI posts highlighted #} + {% if aiPostsList and aiPostsList.length %} +
AI-involved posts this year
+ {% postGraph aiPostsList, { prefix: "ai-widget", limit: 1, highlightColorLight: "#d97706", highlightColorDark: "#fbbf24" } %} + {% endif %} + + + View full AI report + + +
+
+{% endif %}