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 %}