aboutsummaryrefslogtreecommitdiffhomepage
path: root/nuldoc-src/pages/tag.ts
diff options
context:
space:
mode:
Diffstat (limited to 'nuldoc-src/pages/tag.ts')
-rw-r--r--nuldoc-src/pages/tag.ts27
1 files changed, 14 insertions, 13 deletions
diff --git a/nuldoc-src/pages/tag.ts b/nuldoc-src/pages/tag.ts
index c0b6262..dd7a5c0 100644
--- a/nuldoc-src/pages/tag.ts
+++ b/nuldoc-src/pages/tag.ts
@@ -4,7 +4,8 @@ import { pageLayout } from "../components/page_layout.ts";
import { Config } from "../config.ts";
import { el, text } from "../dom.ts";
import { Page } from "../page.ts";
-import { getPostCreatedDate, getPostUpdatedDate, PostPage } from "./post.ts";
+import { getPostCreatedDate, getPostUpdatedDate } from "./post.ts";
+import { TaggedPage } from "./tagged_page.ts";
export interface TagPage extends Page {
tagSlug: string;
@@ -13,7 +14,7 @@ export interface TagPage extends Page {
export async function generateTagPage(
tagSlug: string,
- posts: PostPage[],
+ pages: TaggedPage[],
config: Config,
): Promise<TagPage> {
const tagLabel =
@@ -28,22 +29,22 @@ export async function generateTagPage(
"main",
[["class", "main"]],
el("header", [["class", "page-header"]], el("h1", [], text(pageTitle))),
- ...posts.map((post) =>
+ ...pages.map((page) =>
el(
"article",
[["class", "post-entry"]],
el(
"a",
- [["href", post.href]],
+ [["href", page.href]],
el(
"header",
[["class", "entry-header"]],
- el("h2", [], text(post.title)),
+ el("h2", [], text("event" in page ? `登壇: ${page.event} (${page.talkType})` : page.title)),
),
el(
"section",
[["class", "entry-content"]],
- el("p", [], text(post.summary)),
+ el("p", [], text("event" in page ? page.title : page.summary)),
),
el(
"footer",
@@ -51,16 +52,16 @@ export async function generateTagPage(
text("Posted on "),
el(
"time",
- [["datetime", getPostCreatedDate(post)]],
- text(getPostCreatedDate(post)),
+ [["datetime", getPostCreatedDate(page)]],
+ text(getPostCreatedDate(page)),
),
- ...(post.revisions.length > 1
+ ...(page.revisions.length > 1
? [
text(", updated on "),
el("time", [[
"datetime",
- getPostUpdatedDate(post),
- ]], text(getPostUpdatedDate(post))),
+ getPostUpdatedDate(page),
+ ]], text(getPostUpdatedDate(page))),
]
: []),
),
@@ -74,9 +75,9 @@ export async function generateTagPage(
const html = await pageLayout(
{
metaCopyrightYear: parseInt(
- getPostCreatedDate(posts[posts.length - 1]).substring(0, 4),
+ getPostCreatedDate(pages[pages.length - 1]).substring(0, 4),
),
- metaDescription: `タグ「${tagLabel}」のついた記事一覧`,
+ metaDescription: `タグ「${tagLabel}」のついた記事またはスライドの一覧`,
metaKeywords: [tagLabel],
metaTitle: `${pageTitle} | ${config.blog.siteName}`,
requiresSyntaxHighlight: false,