diff options
Diffstat (limited to 'services/nuldoc/nuldoc-src')
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"> - {`© ${config.site.copyrightYear} ${config.blog.author}`} + {`© ${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={`© ${metaCopyrightYear} ${config.blog.author}`} + content={`© ${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"> |
