diff --git a/_includes/components/post-navigation.njk b/_includes/components/post-navigation.njk index 4cd93c4..42d35eb 100644 --- a/_includes/components/post-navigation.njk +++ b/_includes/components/post-navigation.njk @@ -12,22 +12,28 @@ {% set _bookmarkedUrl = _prevPost.data.bookmarkOf or _prevPost.data.bookmark_of %} {% set _repostedUrl = _prevPost.data.repostOf or _prevPost.data.repost_of %} {% set _replyToUrl = _prevPost.data.inReplyTo or _prevPost.data.in_reply_to %} - - {% if _likedUrl %} - - Liked {{ _likedUrl | replace("https://", "") | truncate(35) }} - {% elif _bookmarkedUrl %} - - {{ _prevPost.data.title or ("Bookmarked " + (_bookmarkedUrl | replace("https://", "") | truncate(30))) }} - {% elif _repostedUrl %} - - Reposted {{ _repostedUrl | replace("https://", "") | truncate(35) }} - {% elif _replyToUrl %} - - Reply to {{ _replyToUrl | replace("https://", "") | truncate(35) }} - {% else %} - {{ _prevPost.data.title or _prevPost.data.name or (_prevPost.templateContent | striptags | truncate(50)) or "Note" }} + {% set _prevHasOg = _prevPost.fileSlug | hasOgImage %} + + {% if _prevHasOg %} + {% endif %} + + {% if _likedUrl %} + + Liked {{ _likedUrl | replace("https://", "") | truncate(35) }} + {% elif _bookmarkedUrl %} + + {{ _prevPost.data.title or ("Bookmarked " + (_bookmarkedUrl | replace("https://", "") | truncate(30))) }} + {% elif _repostedUrl %} + + Reposted {{ _repostedUrl | replace("https://", "") | truncate(35) }} + {% elif _replyToUrl %} + + Reply to {{ _replyToUrl | replace("https://", "") | truncate(35) }} + {% else %} + {{ _prevPost.data.title or _prevPost.data.name or (_prevPost.templateContent | striptags | truncate(50)) or "Note" }} + {% endif %} + {% else %} @@ -40,21 +46,27 @@ {% set _bookmarkedUrl = _nextPost.data.bookmarkOf or _nextPost.data.bookmark_of %} {% set _repostedUrl = _nextPost.data.repostOf or _nextPost.data.repost_of %} {% set _replyToUrl = _nextPost.data.inReplyTo or _nextPost.data.in_reply_to %} - - {% if _likedUrl %} - - Liked {{ _likedUrl | replace("https://", "") | truncate(35) }} - {% elif _bookmarkedUrl %} - - {{ _nextPost.data.title or ("Bookmarked " + (_bookmarkedUrl | replace("https://", "") | truncate(30))) }} - {% elif _repostedUrl %} - - Reposted {{ _repostedUrl | replace("https://", "") | truncate(35) }} - {% elif _replyToUrl %} - - Reply to {{ _replyToUrl | replace("https://", "") | truncate(35) }} - {% else %} - {{ _nextPost.data.title or _nextPost.data.name or (_nextPost.templateContent | striptags | truncate(50)) or "Note" }} + {% set _nextHasOg = _nextPost.fileSlug | hasOgImage %} + + + {% if _likedUrl %} + + Liked {{ _likedUrl | replace("https://", "") | truncate(35) }} + {% elif _bookmarkedUrl %} + + {{ _nextPost.data.title or ("Bookmarked " + (_bookmarkedUrl | replace("https://", "") | truncate(30))) }} + {% elif _repostedUrl %} + + Reposted {{ _repostedUrl | replace("https://", "") | truncate(35) }} + {% elif _replyToUrl %} + + Reply to {{ _replyToUrl | replace("https://", "") | truncate(35) }} + {% else %} + {{ _nextPost.data.title or _nextPost.data.name or (_nextPost.templateContent | striptags | truncate(50)) or "Note" }} + {% endif %} + + {% if _nextHasOg %} + {% endif %} diff --git a/_includes/components/webmentions.njk b/_includes/components/webmentions.njk index f203321..e012c5d 100644 --- a/_includes/components/webmentions.njk +++ b/_includes/components/webmentions.njk @@ -27,22 +27,24 @@

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

-
+ +
{% for like in likes %} {{ like.author.name }} {% endfor %}
+
{% endif %} @@ -53,22 +55,52 @@

{{ reposts.length }} Repost{% if reposts.length != 1 %}s{% endif %}

-
+ +
{% for repost in reposts %} {{ repost.author.name }} {% endfor %}
+
+
+ {% endif %} + + {# Bookmarks #} + {% set bookmarks = mentions | webmentionsByType('bookmarks') %} + {% if bookmarks.length %} +
+

+ {{ bookmarks.length }} Bookmark{% if bookmarks.length != 1 %}s{% endif %} +

+ +
+ {% for bookmark in bookmarks %} + + {{ bookmark.author.name }} + + {% endfor %} +
+
{% endif %} diff --git a/_includes/components/widgets/blogroll.njk b/_includes/components/widgets/blogroll.njk index 5f9ac6c..4e4b4e5 100644 --- a/_includes/components/widgets/blogroll.njk +++ b/_includes/components/widgets/blogroll.njk @@ -1,4 +1,5 @@ {# Blogroll Widget - Dynamic loading from API with source tabs #} +

@@ -106,3 +107,4 @@ function blogrollWidget() { }; } + diff --git a/_includes/components/widgets/feedland.njk b/_includes/components/widgets/feedland.njk index ce14e90..5a4b1c3 100644 --- a/_includes/components/widgets/feedland.njk +++ b/_includes/components/widgets/feedland.njk @@ -221,6 +221,7 @@ } +
{# Title + menu #} @@ -379,3 +380,4 @@ function feedlandWidget() { }; } + diff --git a/_includes/components/widgets/funkwhale.njk b/_includes/components/widgets/funkwhale.njk index b513be5..36aba11 100644 --- a/_includes/components/widgets/funkwhale.njk +++ b/_includes/components/widgets/funkwhale.njk @@ -1,5 +1,6 @@ {# Funkwhale Now Playing Widget #} {% if funkwhaleActivity and (funkwhaleActivity.nowPlaying or funkwhaleActivity.stats) %} +

@@ -68,4 +69,5 @@

+
{% endif %} diff --git a/_includes/components/widgets/github-repos.njk b/_includes/components/widgets/github-repos.njk index 23b081d..4791f6d 100644 --- a/_includes/components/widgets/github-repos.njk +++ b/_includes/components/widgets/github-repos.njk @@ -1,4 +1,5 @@ {# GitHub Activity Widget - Tabbed Commits/Repos/Featured/PRs with live API data #} +

Social Activity

@@ -91,4 +92,5 @@
{% endif %}

+
{% endif %} diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk index f4b79ad..70ac985 100644 --- a/_includes/layouts/base.njk +++ b/_includes/layouts/base.njk @@ -58,13 +58,19 @@ - + {# Critical CSS — inlined for fast first paint #} + + {# Defer full stylesheet — loads after first paint #} + + + + + + - - @@ -409,6 +415,14 @@ document.documentElement.addEventListener('mouseover', prefetch, { capture: true, passive: true }); document.documentElement.addEventListener('touchstart', prefetch, { capture: true, passive: true }); + {# Island architecture - lazy hydration for widgets #} + + {# Relative date display - progressively enhances