From b0c68dc375d1c317a7c40b1f77390a83d3482fcc Mon Sep 17 00:00:00 2001 From: svemagie <869694+svemagie@users.noreply.github.com> Date: Sun, 8 Mar 2026 16:37:33 +0100 Subject: [PATCH] feat(feed): exclude unlisted posts from rss and json feeds --- category-feed-json.njk | 3 ++- category-feed.njk | 7 +++++-- feed-json.njk | 3 ++- feed.njk | 7 +++++-- theme/category-feed-json.njk | 3 ++- theme/category-feed.njk | 7 +++++-- theme/feed-json.njk | 3 ++- theme/feed.njk | 7 +++++-- 8 files changed, 28 insertions(+), 12 deletions(-) diff --git a/category-feed-json.njk b/category-feed-json.njk index d7612f0..7036984 100644 --- a/category-feed-json.njk +++ b/category-feed-json.njk @@ -36,8 +36,9 @@ permalink: "categories/{{ categoryFeed.slug }}/feed.json" "support": {{ site.support | textcastingSupport | jsonEncode | safe }} {%- endif %} }, + {%- set listedCategoryPosts = categoryFeed.posts | excludeUnlistedPosts %} "items": [ - {%- for post in categoryFeed.posts %} + {%- for post in listedCategoryPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/category-feed.njk b/category-feed.njk index 0ada9b6..1eedf36 100644 --- a/category-feed.njk +++ b/category-feed.njk @@ -18,8 +18,11 @@ permalink: "categories/{{ categoryFeed.slug }}/feed.xml" {{ site.locale | default('en') }} - {{ categoryFeed.posts | getNewestCollectionItemDate | dateToRfc822 }} - {%- for post in categoryFeed.posts %} + {%- set listedCategoryPosts = categoryFeed.posts | excludeUnlistedPosts %} + {%- if listedCategoryPosts.length %} + {{ listedCategoryPosts | getNewestCollectionItemDate | dateToRfc822 }} + {%- endif %} + {%- for post in listedCategoryPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/feed-json.njk b/feed-json.njk index aa9a6e3..77d2291 100644 --- a/feed-json.njk +++ b/feed-json.njk @@ -32,8 +32,9 @@ eleventyImport: "support": {{ site.support | textcastingSupport | jsonEncode | safe }} {%- endif %} }, + {%- set listedFeedPosts = collections.feed | excludeUnlistedPosts %} "items": [ - {%- for post in collections.feed %} + {%- for post in listedFeedPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/feed.njk b/feed.njk index 0fdfab4..ef53fd0 100644 --- a/feed.njk +++ b/feed.njk @@ -14,8 +14,11 @@ eleventyImport: {{ site.locale | default('en') }} - {{ collections.feed | getNewestCollectionItemDate | dateToRfc822 }} - {%- for post in collections.feed %} + {%- set listedFeedPosts = collections.feed | excludeUnlistedPosts %} + {%- if listedFeedPosts.length %} + {{ listedFeedPosts | getNewestCollectionItemDate | dateToRfc822 }} + {%- endif %} + {%- for post in listedFeedPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/theme/category-feed-json.njk b/theme/category-feed-json.njk index d7612f0..7036984 100644 --- a/theme/category-feed-json.njk +++ b/theme/category-feed-json.njk @@ -36,8 +36,9 @@ permalink: "categories/{{ categoryFeed.slug }}/feed.json" "support": {{ site.support | textcastingSupport | jsonEncode | safe }} {%- endif %} }, + {%- set listedCategoryPosts = categoryFeed.posts | excludeUnlistedPosts %} "items": [ - {%- for post in categoryFeed.posts %} + {%- for post in listedCategoryPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/theme/category-feed.njk b/theme/category-feed.njk index 0ada9b6..1eedf36 100644 --- a/theme/category-feed.njk +++ b/theme/category-feed.njk @@ -18,8 +18,11 @@ permalink: "categories/{{ categoryFeed.slug }}/feed.xml" {{ site.locale | default('en') }} - {{ categoryFeed.posts | getNewestCollectionItemDate | dateToRfc822 }} - {%- for post in categoryFeed.posts %} + {%- set listedCategoryPosts = categoryFeed.posts | excludeUnlistedPosts %} + {%- if listedCategoryPosts.length %} + {{ listedCategoryPosts | getNewestCollectionItemDate | dateToRfc822 }} + {%- endif %} + {%- for post in listedCategoryPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/theme/feed-json.njk b/theme/feed-json.njk index aa9a6e3..77d2291 100644 --- a/theme/feed-json.njk +++ b/theme/feed-json.njk @@ -32,8 +32,9 @@ eleventyImport: "support": {{ site.support | textcastingSupport | jsonEncode | safe }} {%- endif %} }, + {%- set listedFeedPosts = collections.feed | excludeUnlistedPosts %} "items": [ - {%- for post in collections.feed %} + {%- for post in listedFeedPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %} diff --git a/theme/feed.njk b/theme/feed.njk index 0fdfab4..ef53fd0 100644 --- a/theme/feed.njk +++ b/theme/feed.njk @@ -14,8 +14,11 @@ eleventyImport: {{ site.locale | default('en') }} - {{ collections.feed | getNewestCollectionItemDate | dateToRfc822 }} - {%- for post in collections.feed %} + {%- set listedFeedPosts = collections.feed | excludeUnlistedPosts %} + {%- if listedFeedPosts.length %} + {{ listedFeedPosts | getNewestCollectionItemDate | dateToRfc822 }} + {%- endif %} + {%- for post in listedFeedPosts %} {%- set absolutePostUrl = site.url + post.url %} {%- set postImage = post.data.photo %} {%- if postImage %}