added hidden post functionality
a8f539f1
3 file(s) · +7 −4
| 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 |
| 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 | } |
| 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 | }; |
|