diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-06-21 15:03:29 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-06-21 15:48:56 +0900 |
| commit | e0a8e1b595dd5a636f49edce7c08b2fd12c1e452 (patch) | |
| tree | 2bb9a635b6144273772c692b939750b71f7a7332 /vhosts/blog/nuldoc-src/commands/build.ts | |
| parent | be5d20ba8b6988c6107a6066774f3d7b994c48f5 (diff) | |
| download | nsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.tar.gz nsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.tar.zst nsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.zip | |
feat(blog/nuldoc): implement pagination
Diffstat (limited to 'vhosts/blog/nuldoc-src/commands/build.ts')
| -rw-r--r-- | vhosts/blog/nuldoc-src/commands/build.ts | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/vhosts/blog/nuldoc-src/commands/build.ts b/vhosts/blog/nuldoc-src/commands/build.ts index 52aca1f7..3f765441 100644 --- a/vhosts/blog/nuldoc-src/commands/build.ts +++ b/vhosts/blog/nuldoc-src/commands/build.ts @@ -14,7 +14,7 @@ import { getPostPublishedDate, PostPage, } from "../generators/post.ts"; -import { generatePostListPage } from "../generators/post_list.ts"; +import { generatePostListPages } from "../generators/post_list.ts"; import { generateSlidePage, SlidePage } from "../generators/slide.ts"; import { generateSlideListPage } from "../generators/slide_list.ts"; import { generateTagPage, TagPage } from "../generators/tag.ts"; @@ -70,10 +70,22 @@ async function parsePosts( } async function buildPostListPage(posts: PostPage[], config: Config) { - const postListPage = await generatePostListPage(posts, config); - await writePage(postListPage, config); + // Sort posts by published date (newest first) + const sortedPosts = [...posts].sort((a, b) => { + const ta = dateToString(getPostPublishedDate(a)); + const tb = dateToString(getPostPublishedDate(b)); + if (ta > tb) return -1; + if (ta < tb) return 1; + return 0; + }); + + const postListPages = await generatePostListPages(sortedPosts, config); + for (const page of postListPages) { + await writePage(page, config); + } + const postFeedPage = await generateFeedPageFromEntries( - postListPage.href, + "/posts/", "posts", `投稿一覧|${config.blog.siteName}`, posts, |
