diff options
Diffstat (limited to 'nuldoc-src/pages')
| -rw-r--r-- | nuldoc-src/pages/slide_list.ts | 2 | ||||
| -rw-r--r-- | nuldoc-src/pages/tag.ts | 27 | ||||
| -rw-r--r-- | nuldoc-src/pages/tagged_page.ts | 4 |
3 files changed, 19 insertions, 14 deletions
diff --git a/nuldoc-src/pages/slide_list.ts b/nuldoc-src/pages/slide_list.ts index 61a2764..fbb5778 100644 --- a/nuldoc-src/pages/slide_list.ts +++ b/nuldoc-src/pages/slide_list.ts @@ -47,7 +47,7 @@ export async function generateSlideListPage( el( "header", [["class", "entry-header"]], - el("h2", [], text(`${slide.event} (${slide.talkType})`)), + el("h2", [], text(`登壇: ${slide.event} (${slide.talkType})`)), ), el( "section", 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, diff --git a/nuldoc-src/pages/tagged_page.ts b/nuldoc-src/pages/tagged_page.ts new file mode 100644 index 0000000..23de8cb --- /dev/null +++ b/nuldoc-src/pages/tagged_page.ts @@ -0,0 +1,4 @@ +import { PostPage } from "./post.ts"; +import { SlidePage } from "./slide.ts"; + +export type TaggedPage = PostPage | SlidePage; |
