diff options
Diffstat (limited to 'src/data/post.ts')
| -rw-r--r-- | src/data/post.ts | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/data/post.ts b/src/data/post.ts index 87e0b01..c7df82f 100644 --- a/src/data/post.ts +++ b/src/data/post.ts @@ -1,9 +1,11 @@ import { type CollectionEntry, getCollection } from "astro:content"; -/** filter out draft posts based on the environment */ -export async function getAllPosts(): Promise<CollectionEntry<"post">[]> { +/** filter out draft posts based on the environment and optionally archived posts */ +export async function getAllPosts(includeArchived = false): Promise<CollectionEntry<"post">[]> { return await getCollection("post", ({ data }) => { - return import.meta.env.PROD ? !data.draft : true; + const isDraftFilter = import.meta.env.PROD ? !data.draft : true; + const isArchivedFilter = includeArchived || !data.tags.includes("archived"); + return isDraftFilter && isArchivedFilter; }); } |
