aboutsummaryrefslogtreecommitdiffhomepage
path: root/nuldoc-src/pages
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2023-03-18 21:27:42 +0900
committernsfisis <nsfisis@gmail.com>2023-03-18 21:27:42 +0900
commit2ee549f5f3b1a05f2a769a4e0daa5507997a3159 (patch)
treed4334a3f0e4a0127b133ed5e5fa9cab94d869b67 /nuldoc-src/pages
parent189a8d8f381dae4e1713a3cbfa651101ceca6034 (diff)
downloadblog.nsfisis.dev-2ee549f5f3b1a05f2a769a4e0daa5507997a3159.tar.gz
blog.nsfisis.dev-2ee549f5f3b1a05f2a769a4e0daa5507997a3159.tar.zst
blog.nsfisis.dev-2ee549f5f3b1a05f2a769a4e0daa5507997a3159.zip
feat(nuldoc): include slides in tag pages
Diffstat (limited to 'nuldoc-src/pages')
-rw-r--r--nuldoc-src/pages/slide_list.ts2
-rw-r--r--nuldoc-src/pages/tag.ts27
-rw-r--r--nuldoc-src/pages/tagged_page.ts4
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;