mirror of
https://github.com/ChenQihan666/MyBlog-Next.git
synced 2026-08-14 11:29:33 +08:00
refactor: remove duplicate [page].astro (#389)
Co-authored-by: satnaing <satnaingdev@gmail.com>
This commit is contained in:
@@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
import { SITE } from "@config";
|
|
||||||
import Posts from "@layouts/Posts.astro";
|
|
||||||
import type { GetStaticPaths } from "astro";
|
|
||||||
import { getCollection } from "astro:content";
|
|
||||||
import getSortedPosts from "@utils/getSortedPosts";
|
|
||||||
|
|
||||||
export const getStaticPaths = (async ({ paginate }) => {
|
|
||||||
const posts = await getCollection("blog", ({ data }) => !data.draft);
|
|
||||||
return paginate(getSortedPosts(posts), { pageSize: SITE.postPerPage });
|
|
||||||
}) satisfies GetStaticPaths;
|
|
||||||
|
|
||||||
const { page } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<Posts {page} />
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
import { getCollection } from "astro:content";
|
|
||||||
import TagPosts from "@layouts/TagPosts.astro";
|
|
||||||
import getUniqueTags from "@utils/getUniqueTags";
|
|
||||||
import getPostsByTag from "@utils/getPostsByTag";
|
|
||||||
import type { GetStaticPathsOptions } from "astro";
|
|
||||||
import { SITE } from "@config";
|
|
||||||
|
|
||||||
export async function getStaticPaths({ paginate }: GetStaticPathsOptions) {
|
|
||||||
const posts = await getCollection("blog");
|
|
||||||
const tags = getUniqueTags(posts);
|
|
||||||
|
|
||||||
return tags.flatMap(({ tag, tagName }) => {
|
|
||||||
const tagPosts = getPostsByTag(posts, tag);
|
|
||||||
|
|
||||||
return paginate(tagPosts, {
|
|
||||||
params: { tag },
|
|
||||||
props: { tagName },
|
|
||||||
pageSize: SITE.postPerPage,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const params = Astro.params;
|
|
||||||
const { tag } = params;
|
|
||||||
const { page, tagName } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<TagPosts {page} {tag} {tagName} />
|
|
||||||
Reference in New Issue
Block a user