--- import { getCollection } from "astro:content"; import type { GetStaticPathsOptions } from "astro"; import setSearchJson from "@/utils/vhSearch"; import moveTopToFirst from "@/utils/moveTopToFirst"; export async function getStaticPaths(options: GetStaticPathsOptions) { const { paginate } = options; const posts = (await getCollection("blog")).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); // 置顶文章功能 moveTopToFirst(posts); // 生成 Search JSON 文件 await setSearchJson(posts); // 隐藏的文章不显示 return paginate( posts.filter(i => !i.data.hide), { pageSize: 15 } ); } const { page } = Astro.props; const { data, ...page_data } = page; // 页面 Info import SITE_CONFIG from "@/config"; const { Description } = SITE_CONFIG; // 博客列表组件 import ArticleCard from "@/components/ArticleCard/ArticleCard.astro"; // 公共 Layout import Layout from "@/layouts/Layout/Layout.astro"; // 分页组件 import Pagination from "@/components/Pagination/Pagination.astro"; const currentPage = page_data.url.current.replace("/", ""); ---
{data.map((post, index) => )}