ZH
测试版翻译

@core / kit-blog

1.0.1 ▾
已验证MIT
GitHub

Next.js 博客套件:含作者、分类、标签、系列的文章,订阅源,审核评论和邮件简报

代码32 个文件上下文约 883 个 token扫描通过

应用 .genpmignore 后将被注入的确切目录树。固定于

src/app/(blog)/blog/page.tsx只读 · fa952a4
import type { Metadata } from 'next';
import { listPosts } from '@/lib/blog';
import { buildMetadata } from '@/lib/seo';
import { PostList } from '../_components/post-list';
import { BLOG_PATH, PER_PAGE, pageParam } from '../_lib/blog';

type Props = { searchParams: Promise<Record<string, string | string[] | undefined>> };

export async function generateMetadata({ searchParams }: Props): Promise<Metadata> {
  const page = pageParam(await searchParams);
  return (await buildMetadata({ title: page > 1 ? `Blog – page ${page}` : 'Blog', path: page > 1 ? `${BLOG_PATH}?page=${page}` : BLOG_PATH })) as Metadata;
}

export default async function BlogIndex({ searchParams }: Props) {
  const page = pageParam(await searchParams);
  const { posts, pages } = await listPosts({ page, perPage: PER_PAGE });
  // En la primera página, los destacados primero.
  const ordered = page === 1 ? [...posts.filter((p) => p.featured), ...posts.filter((p) => !p.featured)] : posts;
  return <PostList title="Blog" posts={ordered} page={page} pages={pages} basePath={BLOG_PATH} />;
}

举报 @core/kit-blog

使用 GitHub 登录后才能举报包。