diff options
Diffstat (limited to 'vhosts/blog/nuldoc-src/pages')
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/tag.ts | 4 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/tag_list.ts | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/vhosts/blog/nuldoc-src/pages/tag.ts b/vhosts/blog/nuldoc-src/pages/tag.ts index f501cb33..a18feb62 100644 --- a/vhosts/blog/nuldoc-src/pages/tag.ts +++ b/vhosts/blog/nuldoc-src/pages/tag.ts @@ -12,6 +12,8 @@ import { TaggedPage } from "./tagged_page.ts"; export interface TagPage extends Page { tagSlug: string; tagLabel: string; + numOfPosts: number; + numOfSlides: number; } export async function generateTagPage( @@ -56,5 +58,7 @@ export async function generateTagPage( href: `/tags/${tagSlug}/`, tagSlug: tagSlug, tagLabel: tagLabel, + numOfPosts: pages.filter((p) => !("event" in p)).length, + numOfSlides: pages.filter((p) => "event" in p).length, }; } diff --git a/vhosts/blog/nuldoc-src/pages/tag_list.ts b/vhosts/blog/nuldoc-src/pages/tag_list.ts index 2b58ff32..684c1289 100644 --- a/vhosts/blog/nuldoc-src/pages/tag_list.ts +++ b/vhosts/blog/nuldoc-src/pages/tag_list.ts @@ -48,6 +48,19 @@ export async function generateTagListPage( [["class", "entry-header"]], el("h2", [], text(tag.tagLabel)), ), + el( + "footer", + [["class", "entry-footer"]], + text((() => { + const posts = tag.numOfPosts === 0 + ? "" + : `${tag.numOfPosts}件の記事`; + const slides = tag.numOfSlides === 0 + ? "" + : `${tag.numOfSlides}件のスライド`; + return `${posts}${posts && slides ? "、" : ""}${slides}`; + })()), + ), ), ) ), |
