v0.10.26: /blog/ 归档(archive_cards 皮肤/BlogArchive/WP 分页窗口)+ 文章详情 single 模板(hero/面包屑/三列正文+侧栏)+ page_css 全站导入(254篇) + 图片 WP 尺寸变体解析
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* # 路由 博客归档分页 /blog/page/$page/
|
||||
* 与原站一致的第 2+ 页归档(每页 12 篇,日期倒序)。
|
||||
*/
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { BlogArchive, loadBlogArchive } from "~/components/website/BlogArchive";
|
||||
|
||||
export const Route = createFileRoute("/blog/page/$page")({
|
||||
loader: async ({ params }) => {
|
||||
const n = Number(params.page);
|
||||
return loadBlogArchive(Number.isFinite(n) && n > 1 ? Math.floor(n) : 1);
|
||||
},
|
||||
head: ({ loaderData }) => ({
|
||||
meta: [
|
||||
{
|
||||
title: `Blog - Page ${loaderData?.page ?? 2} of ${loaderData ? Math.max(1, Math.ceil(loaderData.list.total / loaderData.list.pageSize)) : 2} - DusunIoT`,
|
||||
},
|
||||
{ name: "description", content: "IoT guides, industry insights, product news and tutorials from Dusun IoT experts." },
|
||||
],
|
||||
}),
|
||||
component: BlogArchivePagedPage,
|
||||
});
|
||||
|
||||
/** # 组件 博客归档分页页 */
|
||||
function BlogArchivePagedPage() {
|
||||
const data = Route.useLoaderData();
|
||||
return <BlogArchive data={data} />;
|
||||
}
|
||||
Reference in New Issue
Block a user