fix: hide private visibility posts from overview collections

Extend isListed helper to exclude both unlisted and private visibility,
so "where" check-in notes (tagged where, used for /where and /been) no
longer appear in listedNotes, listedPosts, or excludeUnlistedPosts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
svemagie
2026-03-12 12:21:52 +01:00
parent 5ee87e11a9
commit 448534799a
+4 -4
View File
@@ -913,15 +913,15 @@ export default function (eleventyConfig) {
// Helper: exclude drafts from collections // Helper: exclude drafts from collections
const isPublished = (item) => !item.data.draft; const isPublished = (item) => !item.data.draft;
// Helper: exclude unlisted visibility from public listing surfaces // Helper: exclude unlisted/private visibility from public listing surfaces
const isListed = (item) => { const isListed = (item) => {
const data = item?.data || {}; const data = item?.data || {};
const rawVisibility = data.visibility ?? data.properties?.visibility; const rawVisibility = data.visibility ?? data.properties?.visibility;
const visibility = Array.isArray(rawVisibility) ? rawVisibility[0] : rawVisibility; const visibility = String(Array.isArray(rawVisibility) ? rawVisibility[0] : (rawVisibility ?? "")).toLowerCase();
return String(visibility ?? "").toLowerCase() !== "unlisted"; return visibility !== "unlisted" && visibility !== "private";
}; };
// Exclude unlisted posts from UI slices like homepage/sidebar recent-post lists. // Exclude unlisted/private posts from UI slices like homepage/sidebar recent-post lists.
eleventyConfig.addFilter("excludeUnlistedPosts", (posts) => { eleventyConfig.addFilter("excludeUnlistedPosts", (posts) => {
if (!Array.isArray(posts)) return []; if (!Array.isArray(posts)) return [];
return posts.filter(isListed); return posts.filter(isListed);