From ba83e3c7919fa119685d51421ed4adfa8f736168 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Mon, 26 Jan 2026 20:11:11 +0100 Subject: [PATCH] feat: add inbound webmentions to interactions page - Add tabbed interface: "My Activity" (outbound) and "Received" (inbound) - Fetch webmentions from webmention.io API client-side for real-time data - Filter by type: likes, reposts, replies, mentions - Show author avatar, action type badge, date, and target post - Load more pagination for large webmention sets - Default to inbound tab to highlight interactions from others Co-Authored-By: Claude Opus 4.5 --- interactions.njk | 457 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 373 insertions(+), 84 deletions(-) diff --git a/interactions.njk b/interactions.njk index 08edc65..550e42d 100644 --- a/interactions.njk +++ b/interactions.njk @@ -5,101 +5,390 @@ permalink: /interactions/ --- -
- {# Likes #} - -
-
- - - -
-
-

Likes

-

{{ collections.likes.length }} item{% if collections.likes.length != 1 %}s{% endif %}

-
-
-

Content I've appreciated across the web.

-
+{# Tab navigation for Outbound/Inbound #} +
+ {# Tab buttons #} +
+ + +
- {# Replies #} - -
-
- - - -
-
-

Replies

-

{{ collections.replies.length }} item{% if collections.replies.length != 1 %}s{% endif %}

-
-
-

My responses to posts across the web.

-
+ {# ===== OUTBOUND TAB - My Activity ===== #} +
+

Content I've interacted with across the web.

- {# Bookmarks #} - -
-
- - - -
-
-

Bookmarks

-

{{ collections.bookmarks.length }} item{% if collections.bookmarks.length != 1 %}s{% endif %}

-
-
-

Links I've saved for later.

-
+
+ {# Likes #} + +
+
+ + + +
+
+

Likes

+

{{ collections.likes.length }} item{% if collections.likes.length != 1 %}s{% endif %}

+
+
+

Content I've appreciated across the web.

+
- {# Reposts #} - - + + {# ===== INBOUND TAB - Received Webmentions ===== #} +
+
+

Webmentions and interactions others have made with my content.

+ +
+ + {# Loading state #} +
+
+

Loading webmentions...

+
+ + {# Error state #} +
+

+
+ + {# Filter by type #} +
+ + + + + +
+ + {# Webmentions list #} + -
-

About IndieWeb Interactions

-

- These pages show different types of IndieWeb interactions I've made. Each type uses specific microformat properties - to indicate the relationship to the original content. -

-
    -
  • Likes use u-like-of
  • -
  • Replies use u-in-reply-to
  • -
  • Bookmarks use u-bookmark-of
  • -
  • Reposts use u-repost-of
  • -
-
+