From 6dedddc545e2f1930bdc2256784eb1551bd4231d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 1 Feb 2026 00:49:15 +0900 Subject: feat(nuldoc): rewrite nuldoc in Ruby --- services/nuldoc/nuldoc-src/commands/serve.ts | 57 ---------------------------- 1 file changed, 57 deletions(-) delete mode 100644 services/nuldoc/nuldoc-src/commands/serve.ts (limited to 'services/nuldoc/nuldoc-src/commands/serve.ts') diff --git a/services/nuldoc/nuldoc-src/commands/serve.ts b/services/nuldoc/nuldoc-src/commands/serve.ts deleted file mode 100644 index 8388d48a..00000000 --- a/services/nuldoc/nuldoc-src/commands/serve.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { parseArgs } from "@std/cli"; -import { serveDir, STATUS_CODE, STATUS_TEXT } from "@std/http"; -import { join } from "@std/path"; -import { Config } from "../config.ts"; -import { runBuildCommand } from "./build.ts"; - -function isResourcePath(pathname: string): boolean { - const EXTENSIONS = [ - ".css", - ".gif", - ".ico", - ".jpeg", - ".jpg", - ".js", - ".mjs", - ".png", - ".svg", - ]; - return EXTENSIONS.some((ext) => pathname.endsWith(ext)); -} - -export function runServeCommand(config: Config) { - const parsedArgs = parseArgs(Deno.args, { - boolean: ["no-rebuild"], - }); - - const doRebuild = !parsedArgs["no-rebuild"]; - const siteName = String(parsedArgs._[1]); - if (siteName === "") { - throw new Error("Usage: nuldoc serve "); - } - - const rootDir = join(Deno.cwd(), config.locations.destDir, siteName); - Deno.serve({ hostname: "127.0.0.1" }, async (req) => { - const pathname = new URL(req.url).pathname; - if (!isResourcePath(pathname) && doRebuild) { - await runBuildCommand(config); - console.log("rebuild"); - } - const res = await serveDir(req, { - fsRoot: rootDir, - showIndex: true, - }); - if (res.status !== STATUS_CODE.NotFound) { - return res; - } - - const notFoundHtml = await Deno.readTextFile(join(rootDir, "404.html")); - return new Response(notFoundHtml, { - status: STATUS_CODE.NotFound, - statusText: STATUS_TEXT[STATUS_CODE.NotFound], - headers: { - "content-type": "text/html", - }, - }); - }); -} -- cgit v1.3-1-g0d28