aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-02 22:50:56 +0900
committernsfisis <nsfisis@gmail.com>2025-11-02 22:50:56 +0900
commit0ed772e1c2691f545ee08221893ac98266322ac5 (patch)
treefc89bc0aa6f378d1575fe2a78a1b7c534d828505 /services/nuldoc/nuldoc-src
parent0af80494361ec9b71e004e2c83c43170666acbd9 (diff)
downloadnsfisis.dev-0ed772e1c2691f545ee08221893ac98266322ac5.tar.gz
nsfisis.dev-0ed772e1c2691f545ee08221893ac98266322ac5.tar.zst
nsfisis.dev-0ed772e1c2691f545ee08221893ac98266322ac5.zip
feat(nuldoc): Update site header 2
Diffstat (limited to 'services/nuldoc/nuldoc-src')
-rw-r--r--services/nuldoc/nuldoc-src/commands/build.ts8
-rw-r--r--services/nuldoc/nuldoc-src/components/AboutGlobalHeader.tsx2
-rw-r--r--services/nuldoc/nuldoc-src/components/BlogGlobalHeader.tsx5
-rw-r--r--services/nuldoc/nuldoc-src/components/DefaultGlobalHeader.tsx2
-rw-r--r--services/nuldoc/nuldoc-src/components/GlobalFooter.tsx2
-rw-r--r--services/nuldoc/nuldoc-src/components/PageLayout.tsx8
-rw-r--r--services/nuldoc/nuldoc-src/components/SlidesGlobalHeader.tsx2
-rw-r--r--services/nuldoc/nuldoc-src/config.ts7
-rw-r--r--services/nuldoc/nuldoc-src/generators/atom.ts2
-rw-r--r--services/nuldoc/nuldoc-src/pages/AboutPage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/HomePage.tsx5
-rw-r--r--services/nuldoc/nuldoc-src/pages/NotFoundPage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/PostListPage.tsx4
-rw-r--r--services/nuldoc/nuldoc-src/pages/PostPage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/SlideListPage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/SlidePage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/TagListPage.tsx3
-rw-r--r--services/nuldoc/nuldoc-src/pages/TagPage.tsx3
18 files changed, 43 insertions, 25 deletions
diff --git a/services/nuldoc/nuldoc-src/commands/build.ts b/services/nuldoc/nuldoc-src/commands/build.ts
index 8250e04..a19029a 100644
--- a/services/nuldoc/nuldoc-src/commands/build.ts
+++ b/services/nuldoc/nuldoc-src/commands/build.ts
@@ -94,7 +94,7 @@ async function buildPostListPage(posts: PostPage[], config: Config) {
const postFeedPage = await generateFeedPageFromEntries(
"/posts/",
"posts",
- `投稿一覧|${config.blog.siteName}`,
+ `投稿一覧|${config.sites.blog.siteName}`,
posts,
"blog",
config,
@@ -140,7 +140,7 @@ async function buildSlideListPage(slides: SlidePage[], config: Config) {
const slideFeedPage = await generateFeedPageFromEntries(
slideListPage.href,
"slides",
- `スライド一覧|${config.blog.siteName}`,
+ `スライド一覧|${config.sites.slides.siteName}`,
slides,
"slides",
config,
@@ -174,7 +174,7 @@ async function buildFeedOfAllContents(
const feed = await generateFeedPageFromEntries(
"/",
"all",
- config.blog.siteName,
+ config.sites.default.siteName,
[...posts, ...slides],
"default",
config,
@@ -195,7 +195,7 @@ async function buildTagPages(
const tagFeedPage = await generateFeedPageFromEntries(
tagPage.href,
`tag-${tag}`,
- `タグ「${getTagLabel(config, tag)}」一覧|${config.blog.siteName}`,
+ `タグ「${getTagLabel(config, tag)}」一覧|${config.sites[site].siteName}`,
pages,
site,
config,
diff --git a/services/nuldoc/nuldoc-src/components/AboutGlobalHeader.tsx b/services/nuldoc/nuldoc-src/components/AboutGlobalHeader.tsx
index 4671a01..2df7296 100644
--- a/services/nuldoc/nuldoc-src/components/AboutGlobalHeader.tsx
+++ b/services/nuldoc/nuldoc-src/components/AboutGlobalHeader.tsx
@@ -5,7 +5,7 @@ export default function GlobalHeader({ config }: { config: Config }) {
<header className="header">
<div className="site-logo">
<a href={`https://${config.sites.default.fqdn}/`}>
- {config.blog.siteName}
+ nsfisis.dev
</a>
</div>
</header>
diff --git a/services/nuldoc/nuldoc-src/components/BlogGlobalHeader.tsx b/services/nuldoc/nuldoc-src/components/BlogGlobalHeader.tsx
index 026c54f..1f7fe6e 100644
--- a/services/nuldoc/nuldoc-src/components/BlogGlobalHeader.tsx
+++ b/services/nuldoc/nuldoc-src/components/BlogGlobalHeader.tsx
@@ -5,9 +5,12 @@ export default function GlobalHeader({ config }: { config: Config }) {
<header className="header">
<div className="site-logo">
<a href={`https://${config.sites.default.fqdn}/`}>
- {config.blog.siteName}
+ nsfisis.dev
</a>
</div>
+ <div className="site-name">
+ {config.sites.blog.siteName}
+ </div>
<nav className="nav">
<ul>
<li>
diff --git a/services/nuldoc/nuldoc-src/components/DefaultGlobalHeader.tsx b/services/nuldoc/nuldoc-src/components/DefaultGlobalHeader.tsx
index 4671a01..2df7296 100644
--- a/services/nuldoc/nuldoc-src/components/DefaultGlobalHeader.tsx
+++ b/services/nuldoc/nuldoc-src/components/DefaultGlobalHeader.tsx
@@ -5,7 +5,7 @@ export default function GlobalHeader({ config }: { config: Config }) {
<header className="header">
<div className="site-logo">
<a href={`https://${config.sites.default.fqdn}/`}>
- {config.blog.siteName}
+ nsfisis.dev
</a>
</div>
</header>
diff --git a/services/nuldoc/nuldoc-src/components/GlobalFooter.tsx b/services/nuldoc/nuldoc-src/components/GlobalFooter.tsx
index 6a8d8f6..9374aa7 100644
--- a/services/nuldoc/nuldoc-src/components/GlobalFooter.tsx
+++ b/services/nuldoc/nuldoc-src/components/GlobalFooter.tsx
@@ -3,7 +3,7 @@ import { Config } from "../config.ts";
export default function GlobalFooter({ config }: { config: Config }) {
return (
<footer className="footer">
- {`&copy; ${config.site.copyrightYear} ${config.blog.author}`}
+ {`&copy; ${config.site.copyrightYear} ${config.site.author}`}
</footer>
);
}
diff --git a/services/nuldoc/nuldoc-src/components/PageLayout.tsx b/services/nuldoc/nuldoc-src/components/PageLayout.tsx
index 78a5cde..b32f229 100644
--- a/services/nuldoc/nuldoc-src/components/PageLayout.tsx
+++ b/services/nuldoc/nuldoc-src/components/PageLayout.tsx
@@ -9,6 +9,7 @@ type Props = {
metaTitle: string;
metaAtomFeedHref?: string;
requiresSyntaxHighlight?: boolean;
+ site: "default" | "about" | "blog" | "slides";
config: Config;
children: JSXNode;
};
@@ -21,6 +22,7 @@ export default function PageLayout(
metaTitle,
metaAtomFeedHref,
requiresSyntaxHighlight: _,
+ site,
config,
children,
}: Props,
@@ -30,10 +32,10 @@ export default function PageLayout(
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="author" content={config.blog.author} />
+ <meta name="author" content={config.site.author} />
<meta
name="copyright"
- content={`&copy; ${metaCopyrightYear} ${config.blog.author}`}
+ content={`&copy; ${metaCopyrightYear} ${config.site.author}`}
/>
<meta name="description" content={metaDescription} />
{metaKeywords && metaKeywords.length !== 0 &&
@@ -41,7 +43,7 @@ export default function PageLayout(
<meta property="og:type" content="article" />
<meta property="og:title" content={metaTitle} />
<meta property="og:description" content={metaDescription} />
- <meta property="og:site_name" content={config.blog.siteName} />
+ <meta property="og:site_name" content={config.sites[site].siteName} />
<meta property="og:locale" content="ja_JP" />
{/* https://b.hatena.ne.jp/help/entry/nocomment */}
<meta name="Hatena::Bookmark" content="nocomment" />
diff --git a/services/nuldoc/nuldoc-src/components/SlidesGlobalHeader.tsx b/services/nuldoc/nuldoc-src/components/SlidesGlobalHeader.tsx
index f7727ea..4d93240 100644
--- a/services/nuldoc/nuldoc-src/components/SlidesGlobalHeader.tsx
+++ b/services/nuldoc/nuldoc-src/components/SlidesGlobalHeader.tsx
@@ -5,7 +5,7 @@ export default function GlobalHeader({ config }: { config: Config }) {
<header className="header">
<div className="site-logo">
<a href={`https://${config.sites.default.fqdn}/`}>
- {config.blog.siteName}
+ nsfisis.dev
</a>
</div>
<nav className="nav">
diff --git a/services/nuldoc/nuldoc-src/config.ts b/services/nuldoc/nuldoc-src/config.ts
index e6af58c..95d7941 100644
--- a/services/nuldoc/nuldoc-src/config.ts
+++ b/services/nuldoc/nuldoc-src/config.ts
@@ -14,25 +14,28 @@ const ConfigSchema = z.object({
}),
}),
site: z.object({
+ author: z.string(),
copyrightYear: z.number(),
}),
sites: z.object({
default: z.object({
fqdn: z.string(),
+ siteName: z.string(),
}),
about: z.object({
fqdn: z.string(),
+ siteName: z.string(),
}),
blog: z.object({
fqdn: z.string(),
+ siteName: z.string(),
}),
slides: z.object({
fqdn: z.string(),
+ siteName: z.string(),
}),
}),
blog: z.object({
- author: z.string(),
- siteName: z.string(),
postsPerPage: z.number().default(10),
tagLabels: z.record(z.string(), z.string()),
}),
diff --git a/services/nuldoc/nuldoc-src/generators/atom.ts b/services/nuldoc/nuldoc-src/generators/atom.ts
index bcd9ba0..dc62da9 100644
--- a/services/nuldoc/nuldoc-src/generators/atom.ts
+++ b/services/nuldoc/nuldoc-src/generators/atom.ts
@@ -60,7 +60,7 @@ export async function generateFeedPageFromEntries(
});
const feedPath = `${alternateLink}${BASE_NAME}`;
const feed: Feed = {
- author: config.blog.author,
+ author: config.site.author,
icon: `https://${config.sites[site].fqdn}/favicon.svg`,
id: `tag:${
config.sites[site].fqdn
diff --git a/services/nuldoc/nuldoc-src/pages/AboutPage.tsx b/services/nuldoc/nuldoc-src/pages/AboutPage.tsx
index 010692d..d0397c1 100644
--- a/services/nuldoc/nuldoc-src/pages/AboutPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/AboutPage.tsx
@@ -15,7 +15,8 @@ export default function AboutPage(
<PageLayout
metaCopyrightYear={config.site.copyrightYear}
metaDescription="このサイトの著者について"
- metaTitle={`About|${config.blog.siteName}`}
+ metaTitle={`About|${config.sites.about.siteName}`}
+ site="about"
config={config}
>
<body className="single">
diff --git a/services/nuldoc/nuldoc-src/pages/HomePage.tsx b/services/nuldoc/nuldoc-src/pages/HomePage.tsx
index ae1d069..a2cbdd1 100644
--- a/services/nuldoc/nuldoc-src/pages/HomePage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/HomePage.tsx
@@ -7,9 +7,10 @@ export default function HomePage(config: Config) {
return (
<PageLayout
metaCopyrightYear={config.site.copyrightYear}
- metaDescription="nsfisis のブログサイト"
- metaTitle={config.blog.siteName}
+ metaDescription="nsfisis のサイト"
+ metaTitle={config.sites.default.siteName}
metaAtomFeedHref={`https://${config.sites.default.fqdn}/atom.xml`}
+ site="default"
config={config}
>
<body className="single">
diff --git a/services/nuldoc/nuldoc-src/pages/NotFoundPage.tsx b/services/nuldoc/nuldoc-src/pages/NotFoundPage.tsx
index ac105e8..11ce518 100644
--- a/services/nuldoc/nuldoc-src/pages/NotFoundPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/NotFoundPage.tsx
@@ -14,7 +14,8 @@ export default function NotFoundPage(
<PageLayout
metaCopyrightYear={config.site.copyrightYear}
metaDescription="リクエストされたページが見つかりません"
- metaTitle={`Page Not Found|${config.blog.siteName}`}
+ metaTitle={`Page Not Found|${config.sites[site].siteName}`}
+ site={site}
config={config}
>
<body className="single">
diff --git a/services/nuldoc/nuldoc-src/pages/PostListPage.tsx b/services/nuldoc/nuldoc-src/pages/PostListPage.tsx
index 549eb97..5ed9696 100644
--- a/services/nuldoc/nuldoc-src/pages/PostListPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/PostListPage.tsx
@@ -15,7 +15,8 @@ export default function PostListPage(
const pageTitle = "投稿一覧";
const pageInfoSuffix = ` (${currentPage}ページ目)`;
- const metaTitle = `${pageTitle}${pageInfoSuffix}|${config.blog.siteName}`;
+ const metaTitle =
+ `${pageTitle}${pageInfoSuffix}|${config.sites.blog.siteName}`;
const metaDescription = `投稿した記事の一覧${pageInfoSuffix}`;
return (
@@ -24,6 +25,7 @@ export default function PostListPage(
metaDescription={metaDescription}
metaTitle={metaTitle}
metaAtomFeedHref={`https://${config.sites.blog.fqdn}/posts/atom.xml`}
+ site="blog"
config={config}
>
<body className="list">
diff --git a/services/nuldoc/nuldoc-src/pages/PostPage.tsx b/services/nuldoc/nuldoc-src/pages/PostPage.tsx
index 60b2811..beebdb3 100644
--- a/services/nuldoc/nuldoc-src/pages/PostPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/PostPage.tsx
@@ -17,8 +17,9 @@ export default function PostPage(
metaCopyrightYear={getPostPublishedDate(doc).year}
metaDescription={doc.description}
metaKeywords={doc.tags.map((slug) => getTagLabel(config, slug))}
- metaTitle={`${doc.title}|${config.blog.siteName}`}
+ metaTitle={`${doc.title}|${config.sites.blog.siteName}`}
requiresSyntaxHighlight
+ site="blog"
config={config}
>
<body className="single">
diff --git a/services/nuldoc/nuldoc-src/pages/SlideListPage.tsx b/services/nuldoc/nuldoc-src/pages/SlideListPage.tsx
index 0b8d853..dc216eb 100644
--- a/services/nuldoc/nuldoc-src/pages/SlideListPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/SlideListPage.tsx
@@ -17,8 +17,9 @@ export default function SlideListPage(
<PageLayout
metaCopyrightYear={config.site.copyrightYear}
metaDescription="登壇したイベントで使用したスライドの一覧"
- metaTitle={`${pageTitle}|${config.blog.siteName}`}
+ metaTitle={`${pageTitle}|${config.sites.slides.siteName}`}
metaAtomFeedHref={`https://${config.sites.slides.fqdn}/slides/atom.xml`}
+ site="slides"
config={config}
>
<body className="list">
diff --git a/services/nuldoc/nuldoc-src/pages/SlidePage.tsx b/services/nuldoc/nuldoc-src/pages/SlidePage.tsx
index 3c8dce3..53944df 100644
--- a/services/nuldoc/nuldoc-src/pages/SlidePage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/SlidePage.tsx
@@ -16,8 +16,9 @@ export default function SlidePage(
metaCopyrightYear={getPostPublishedDate(slide).year}
metaDescription={slide.title}
metaKeywords={slide.tags.map((slug) => getTagLabel(config, slug))}
- metaTitle={`${slide.event} (${slide.talkType})|${config.blog.siteName}`}
+ metaTitle={`${slide.event} (${slide.talkType})|${config.sites.slides.siteName}`}
requiresSyntaxHighlight
+ site="slides"
config={config}
>
<body className="single">
diff --git a/services/nuldoc/nuldoc-src/pages/TagListPage.tsx b/services/nuldoc/nuldoc-src/pages/TagListPage.tsx
index c33f349..3ee58f3 100644
--- a/services/nuldoc/nuldoc-src/pages/TagListPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/TagListPage.tsx
@@ -16,7 +16,8 @@ export default function TagListPage(
<PageLayout
metaCopyrightYear={config.site.copyrightYear}
metaDescription="タグの一覧"
- metaTitle={`${pageTitle}|${config.blog.siteName}`}
+ metaTitle={`${pageTitle}|${config.sites[site].siteName}`}
+ site={site}
config={config}
>
<body className="list">
diff --git a/services/nuldoc/nuldoc-src/pages/TagPage.tsx b/services/nuldoc/nuldoc-src/pages/TagPage.tsx
index 49f689e..6c64172 100644
--- a/services/nuldoc/nuldoc-src/pages/TagPage.tsx
+++ b/services/nuldoc/nuldoc-src/pages/TagPage.tsx
@@ -22,10 +22,11 @@ export default function TagPage(
metaCopyrightYear={getPostPublishedDate(pages[pages.length - 1]).year}
metaDescription={`タグ「${tagLabel}」のついた記事またはスライドの一覧`}
metaKeywords={[tagLabel]}
- metaTitle={`${pageTitle}|${config.blog.siteName}`}
+ metaTitle={`${pageTitle}|${config.sites[site].siteName}`}
metaAtomFeedHref={`https://${
config.sites[site].fqdn
}/tags/${tagSlug}/atom.xml`}
+ site={site}
config={config}
>
<body className="list">