diff options
Diffstat (limited to 'services/blog/nuldoc-src/components')
| -rw-r--r-- | services/blog/nuldoc-src/components/PostPageEntry.tsx | 9 | ||||
| -rw-r--r-- | services/blog/nuldoc-src/components/SlidePageEntry.tsx | 9 | ||||
| -rw-r--r-- | services/blog/nuldoc-src/components/TagList.tsx | 18 |
3 files changed, 34 insertions, 2 deletions
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 ( <article className="post-entry"> <a href={post.href}> @@ -32,6 +36,9 @@ export default function PostPageEntry({ post }: { post: PostPage }) { </time> )} {postHasAnyUpdates(post) && " 更新"} + {post.tags.length !== 0 && ( + <TagList tags={post.tags} config={config} /> + )} </footer> </a> </article> 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 ( <article className="post-entry"> <a href={slide.href}> @@ -32,6 +36,9 @@ export default function SlidePageEntry({ slide }: { slide: SlidePage }) { </time> )} {postHasAnyUpdates(slide) && " 更新"} + {slide.tags.length !== 0 && ( + <TagList tags={slide.tags} config={config} /> + )} </footer> </a> </article> 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 ( + <ul className="entry-tags"> + {tags.map((slug) => ( + <li className="tag" key={slug}> + {getTagLabel(config, slug)} + </li> + ))} + </ul> + ); +} |
