summaryrefslogtreecommitdiffhomepage
path: root/vhosts/blog/nuldoc-src/commands
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-06-21 15:03:29 +0900
committernsfisis <nsfisis@gmail.com>2025-06-21 15:48:56 +0900
commite0a8e1b595dd5a636f49edce7c08b2fd12c1e452 (patch)
tree2bb9a635b6144273772c692b939750b71f7a7332 /vhosts/blog/nuldoc-src/commands
parentbe5d20ba8b6988c6107a6066774f3d7b994c48f5 (diff)
downloadnsfisis.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')
-rw-r--r--vhosts/blog/nuldoc-src/commands/build.ts20
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,