From 57315c52be96d2a2c013f0cfb0de5429980e301a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 2 Nov 2025 17:49:34 +0900 Subject: refactor(blog): rename directory, services/{blog => nuldoc}/ --- .../blog/nuldoc-src/components/GlobalFooter.tsx | 9 -- .../blog/nuldoc-src/components/GlobalHeader.tsx | 27 ------ services/blog/nuldoc-src/components/PageLayout.tsx | 63 ------------- services/blog/nuldoc-src/components/Pagination.tsx | 104 --------------------- .../blog/nuldoc-src/components/PostPageEntry.tsx | 46 --------- .../blog/nuldoc-src/components/SlidePageEntry.tsx | 46 --------- .../blog/nuldoc-src/components/StaticScript.tsx | 18 ---- .../nuldoc-src/components/StaticStylesheet.tsx | 11 --- .../blog/nuldoc-src/components/TableOfContents.tsx | 33 ------- services/blog/nuldoc-src/components/TagList.tsx | 18 ---- services/blog/nuldoc-src/components/utils.ts | 8 -- 11 files changed, 383 deletions(-) delete mode 100644 services/blog/nuldoc-src/components/GlobalFooter.tsx delete mode 100644 services/blog/nuldoc-src/components/GlobalHeader.tsx delete mode 100644 services/blog/nuldoc-src/components/PageLayout.tsx delete mode 100644 services/blog/nuldoc-src/components/Pagination.tsx delete mode 100644 services/blog/nuldoc-src/components/PostPageEntry.tsx delete mode 100644 services/blog/nuldoc-src/components/SlidePageEntry.tsx delete mode 100644 services/blog/nuldoc-src/components/StaticScript.tsx delete mode 100644 services/blog/nuldoc-src/components/StaticStylesheet.tsx delete mode 100644 services/blog/nuldoc-src/components/TableOfContents.tsx delete mode 100644 services/blog/nuldoc-src/components/TagList.tsx delete mode 100644 services/blog/nuldoc-src/components/utils.ts (limited to 'services/blog/nuldoc-src/components') diff --git a/services/blog/nuldoc-src/components/GlobalFooter.tsx b/services/blog/nuldoc-src/components/GlobalFooter.tsx deleted file mode 100644 index 757beced..00000000 --- a/services/blog/nuldoc-src/components/GlobalFooter.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Config } from "../config.ts"; - -export default function GlobalFooter({ config }: { config: Config }) { - return ( - - ); -} diff --git a/services/blog/nuldoc-src/components/GlobalHeader.tsx b/services/blog/nuldoc-src/components/GlobalHeader.tsx deleted file mode 100644 index c0fa7e8b..00000000 --- a/services/blog/nuldoc-src/components/GlobalHeader.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Config } from "../config.ts"; - -export default function GlobalHeader({ config }: { config: Config }) { - return ( -
-
- {config.blog.siteName} -
- -
- ); -} diff --git a/services/blog/nuldoc-src/components/PageLayout.tsx b/services/blog/nuldoc-src/components/PageLayout.tsx deleted file mode 100644 index 78a5cde2..00000000 --- a/services/blog/nuldoc-src/components/PageLayout.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { Config } from "../config.ts"; -import { JSXNode } from "myjsx/jsx-runtime"; -import StaticStylesheet from "./StaticStylesheet.tsx"; - -type Props = { - metaCopyrightYear: number; - metaDescription: string; - metaKeywords?: string[]; - metaTitle: string; - metaAtomFeedHref?: string; - requiresSyntaxHighlight?: boolean; - config: Config; - children: JSXNode; -}; - -export default function PageLayout( - { - metaCopyrightYear, - metaDescription, - metaKeywords, - metaTitle, - metaAtomFeedHref, - requiresSyntaxHighlight: _, - config, - children, - }: Props, -) { - return ( - - - - - - - - {metaKeywords && metaKeywords.length !== 0 && - } - - - - - - {/* https://b.hatena.ne.jp/help/entry/nocomment */} - - {metaAtomFeedHref && - ( - - )} - - {metaTitle} - - - {children} - - ); -} diff --git a/services/blog/nuldoc-src/components/Pagination.tsx b/services/blog/nuldoc-src/components/Pagination.tsx deleted file mode 100644 index 84752c5e..00000000 --- a/services/blog/nuldoc-src/components/Pagination.tsx +++ /dev/null @@ -1,104 +0,0 @@ -type Props = { - currentPage: number; - totalPages: number; - basePath: string; -}; - -export default function Pagination( - { currentPage, totalPages, basePath }: Props, -) { - if (totalPages <= 1) { - return
; - } - - const pages = generatePageNumbers(currentPage, totalPages); - - return ( - - ); -} - -type PageItem = number | "..."; - -/** - * Generates page numbers for pagination display. - * - * - Always show the first page - * - Always show the last page - * - Always show the current page - * - Always show the page before and after the current page - * - If there's only one page gap between displayed pages, fill it - * - If there are two or more pages gap between displayed pages, show ellipsis - */ -function generatePageNumbers( - currentPage: number, - totalPages: number, -): PageItem[] { - const pages = new Set(); - pages.add(1); - pages.add(Math.max(1, currentPage - 1)); - pages.add(currentPage); - pages.add(Math.min(totalPages, currentPage + 1)); - pages.add(totalPages); - - const sorted = Array.from(pages).sort((a, b) => a - b); - - const result: PageItem[] = []; - for (let i = 0; i < sorted.length; i++) { - if (i > 0) { - const gap = sorted[i] - sorted[i - 1]; - if (gap === 2) { - result.push(sorted[i - 1] + 1); - } else if (gap > 2) { - result.push("..."); - } - } - result.push(sorted[i]); - } - - return result; -} - -function pageUrlAt(basePath: string, page: number): string { - return page === 1 ? basePath : `${basePath}${page}/`; -} diff --git a/services/blog/nuldoc-src/components/PostPageEntry.tsx b/services/blog/nuldoc-src/components/PostPageEntry.tsx deleted file mode 100644 index 23ca88ac..00000000 --- a/services/blog/nuldoc-src/components/PostPageEntry.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { - getPostPublishedDate, - getPostUpdatedDate, - postHasAnyUpdates, - PostPage, -} from "../generators/post.ts"; -import { dateToString } from "../revision.ts"; -import { Config } from "../config.ts"; -import TagList from "./TagList.tsx"; - -type Props = { post: PostPage; config: Config }; - -export default function PostPageEntry({ post, config }: Props) { - return ( - - ); -} diff --git a/services/blog/nuldoc-src/components/SlidePageEntry.tsx b/services/blog/nuldoc-src/components/SlidePageEntry.tsx deleted file mode 100644 index 24017650..00000000 --- a/services/blog/nuldoc-src/components/SlidePageEntry.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { - getPostPublishedDate, - getPostUpdatedDate, - postHasAnyUpdates, -} from "../generators/post.ts"; -import { SlidePage } from "../generators/slide.ts"; -import { dateToString } from "../revision.ts"; -import { Config } from "../config.ts"; -import TagList from "./TagList.tsx"; - -type Props = { slide: SlidePage; config: Config }; - -export default function SlidePageEntry({ slide, config }: Props) { - return ( - - ); -} diff --git a/services/blog/nuldoc-src/components/StaticScript.tsx b/services/blog/nuldoc-src/components/StaticScript.tsx deleted file mode 100644 index 0e3ab194..00000000 --- a/services/blog/nuldoc-src/components/StaticScript.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { join } from "@std/path"; -import { Config } from "../config.ts"; -import { calculateFileHash } from "./utils.ts"; - -export default async function StaticScript( - { fileName, type, defer, config }: { - fileName: string; - type?: string; - defer?: "true"; - config: Config; - }, -) { - const filePath = join(Deno.cwd(), config.locations.staticDir, fileName); - const hash = await calculateFileHash(filePath); - return ( - - ); -} diff --git a/services/blog/nuldoc-src/components/StaticStylesheet.tsx b/services/blog/nuldoc-src/components/StaticStylesheet.tsx deleted file mode 100644 index 52b695e5..00000000 --- a/services/blog/nuldoc-src/components/StaticStylesheet.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { join } from "@std/path"; -import { Config } from "../config.ts"; -import { calculateFileHash } from "./utils.ts"; - -export default async function StaticStylesheet( - { fileName, config }: { fileName: string; config: Config }, -) { - const filePath = join(Deno.cwd(), config.locations.staticDir, fileName); - const hash = await calculateFileHash(filePath); - return ; -} diff --git a/services/blog/nuldoc-src/components/TableOfContents.tsx b/services/blog/nuldoc-src/components/TableOfContents.tsx deleted file mode 100644 index 29907d08..00000000 --- a/services/blog/nuldoc-src/components/TableOfContents.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { TocEntry, TocRoot } from "../djot/document.ts"; - -type Props = { - toc: TocRoot; -}; - -export default function TableOfContents({ toc }: Props) { - return ( - - ); -} - -function TocEntryComponent({ entry }: { entry: TocEntry }) { - return ( -
  • - {entry.text} - {entry.children.length > 0 && ( -
      - {entry.children.map((child, index) => ( - - ))} -
    - )} -
  • - ); -} diff --git a/services/blog/nuldoc-src/components/TagList.tsx b/services/blog/nuldoc-src/components/TagList.tsx deleted file mode 100644 index 86ee70bc..00000000 --- a/services/blog/nuldoc-src/components/TagList.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Config, getTagLabel } from "../config.ts"; - -type Props = { - tags: string[]; - config: Config; -}; - -export default function TagList({ tags, config }: Props) { - return ( -
      - {tags.map((slug) => ( -
    • - {getTagLabel(config, slug)} -
    • - ))} -
    - ); -} diff --git a/services/blog/nuldoc-src/components/utils.ts b/services/blog/nuldoc-src/components/utils.ts deleted file mode 100644 index 14059b5b..00000000 --- a/services/blog/nuldoc-src/components/utils.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Hash } from "checksum/mod.ts"; - -export async function calculateFileHash( - filePath: string, -): Promise { - const content = await Deno.readFile(filePath); - return new Hash("md5").digest(content).hex(); -} -- cgit v1.3-1-g0d28