From 36e0a3f8486bb2a8b288694dcf460a75d0517f57 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 2 Jul 2025 00:15:42 +0900 Subject: feat(blog/nuldoc): show entry tags in list page --- services/blog/nuldoc-src/components/PostPageEntry.tsx | 9 ++++++++- services/blog/nuldoc-src/components/SlidePageEntry.tsx | 9 ++++++++- services/blog/nuldoc-src/components/TagList.tsx | 18 ++++++++++++++++++ services/blog/nuldoc-src/pages/PostListPage.tsx | 4 +++- services/blog/nuldoc-src/pages/SlideListPage.tsx | 4 +++- services/blog/nuldoc-src/pages/TagPage.tsx | 4 ++-- 6 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 services/blog/nuldoc-src/components/TagList.tsx (limited to 'services/blog/nuldoc-src') diff --git a/services/blog/nuldoc-src/components/PostPageEntry.tsx b/services/blog/nuldoc-src/components/PostPageEntry.tsx index 2708b009..23ca88ac 100644 --- a/services/blog/nuldoc-src/components/PostPageEntry.tsx +++ b/services/blog/nuldoc-src/components/PostPageEntry.tsx @@ -5,8 +5,12 @@ import { PostPage, } from "../generators/post.ts"; import { dateToString } from "../revision.ts"; +import { Config } from "../config.ts"; +import TagList from "./TagList.tsx"; -export default function PostPageEntry({ post }: { post: PostPage }) { +type Props = { post: PostPage; config: Config }; + +export default function PostPageEntry({ post, config }: Props) { return (
@@ -32,6 +36,9 @@ export default function PostPageEntry({ post }: { post: PostPage }) { )} {postHasAnyUpdates(post) && " 更新"} + {post.tags.length !== 0 && ( + + )}
diff --git a/services/blog/nuldoc-src/components/SlidePageEntry.tsx b/services/blog/nuldoc-src/components/SlidePageEntry.tsx index d2cf9a17..24017650 100644 --- a/services/blog/nuldoc-src/components/SlidePageEntry.tsx +++ b/services/blog/nuldoc-src/components/SlidePageEntry.tsx @@ -5,8 +5,12 @@ import { } from "../generators/post.ts"; import { SlidePage } from "../generators/slide.ts"; import { dateToString } from "../revision.ts"; +import { Config } from "../config.ts"; +import TagList from "./TagList.tsx"; -export default function SlidePageEntry({ slide }: { slide: SlidePage }) { +type Props = { slide: SlidePage; config: Config }; + +export default function SlidePageEntry({ slide, config }: Props) { return (
@@ -32,6 +36,9 @@ export default function SlidePageEntry({ slide }: { slide: SlidePage }) { )} {postHasAnyUpdates(slide) && " 更新"} + {slide.tags.length !== 0 && ( + + )}
diff --git a/services/blog/nuldoc-src/components/TagList.tsx b/services/blog/nuldoc-src/components/TagList.tsx new file mode 100644 index 00000000..86ee70bc --- /dev/null +++ b/services/blog/nuldoc-src/components/TagList.tsx @@ -0,0 +1,18 @@ +import { Config, getTagLabel } from "../config.ts"; + +type Props = { + tags: string[]; + config: Config; +}; + +export default function TagList({ tags, config }: Props) { + return ( + + ); +} diff --git a/services/blog/nuldoc-src/pages/PostListPage.tsx b/services/blog/nuldoc-src/pages/PostListPage.tsx index 054955e6..b825f69d 100644 --- a/services/blog/nuldoc-src/pages/PostListPage.tsx +++ b/services/blog/nuldoc-src/pages/PostListPage.tsx @@ -39,7 +39,9 @@ export default function PostListPage( basePath="/posts/" /> - {posts.map((post) => )} + {posts.map((post) => ( + + ))} tb) return -1; if (ta < tb) return 1; return 0; - }).map((slide) => )} + }).map((slide) => ( + + ))} diff --git a/services/blog/nuldoc-src/pages/TagPage.tsx b/services/blog/nuldoc-src/pages/TagPage.tsx index 02c484af..b2ffba59 100644 --- a/services/blog/nuldoc-src/pages/TagPage.tsx +++ b/services/blog/nuldoc-src/pages/TagPage.tsx @@ -32,8 +32,8 @@ export default function TagPage( {pages.map((page) => "event" in page - ? - : + ? + : )} -- cgit v1.2.3-70-g09d2