added hidden post functionality a8f539f1
Steve · 2024-10-26 23:49 3 file(s) · +7 −4
src/content/config.ts +1 −0
14 14
		publishDate: z.string().transform((str) => new Date(str)),
15 15
		tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase),
16 16
		ogImage: z.string().optional(),
17 +
		hidden: z.boolean().optional().default(false),
17 18
	}),
18 19
});
19 20
src/pages/posts/[...page].astro +2 −1
9 9
10 10
export async function getStaticPaths({ paginate }: GetStaticPathsOptions) {
11 11
	const allPosts = await getCollection("post");
12 -
	const allPostsByDate = sortMDByDate(allPosts);
12 +
	const visiblePosts = allPosts.filter((post) => !post.data.hidden);
13 +
	const allPostsByDate = sortMDByDate(visiblePosts);
13 14
	const uniqueTags = getUniqueTags(allPosts);
14 15
	return paginate(allPostsByDate, { props: { uniqueTags }, pageSize: 10 });
15 16
}
src/pages/tags/[tag]/[...page].astro +4 −3
9 9
10 10
export async function getStaticPaths({ paginate }: GetStaticPathsOptions) {
11 11
	const allPosts = await getCollection("post");
12 -
	const allPostsByDate = sortMDByDate(allPosts);
12 +
	const visiblePosts = allPosts.filter((post) => !post.data.hidden);
13 +
	const allPostsByDate = sortMDByDate(visiblePosts);
13 14
	const uniqueTags = getUniqueTags(allPostsByDate);
14 15
15 16
	return uniqueTags.flatMap((tag) => {
39 40
	...(page.url.prev && {
40 41
		prevUrl: {
41 42
			url: page.url.prev,
42 -
			text: `← Previous Tags`,
43 +
			text: "← Previous Tags",
43 44
		},
44 45
	}),
45 46
	...(page.url.next && {
46 47
		nextUrl: {
47 48
			url: page.url.next,
48 -
			text: `Next Tags →`,
49 +
			text: "Next Tags →",
49 50
		},
50 51
	}),
51 52
};