diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-01 00:49:15 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-01 00:49:19 +0900 |
| commit | 6dedddc545e2f1930bdc2256784eb1551bd4231d (patch) | |
| tree | 75fcb5a6043dc0f2c31b098bf3cfd17a2b938599 /services/nuldoc/nuldoc-src/config.ts | |
| parent | d08e3edb65b215152aa26e3518fb2f2cd7071c4b (diff) | |
| download | nsfisis.dev-6dedddc545e2f1930bdc2256784eb1551bd4231d.tar.gz nsfisis.dev-6dedddc545e2f1930bdc2256784eb1551bd4231d.tar.zst nsfisis.dev-6dedddc545e2f1930bdc2256784eb1551bd4231d.zip | |
feat(nuldoc): rewrite nuldoc in Ruby
Diffstat (limited to 'services/nuldoc/nuldoc-src/config.ts')
| -rw-r--r-- | services/nuldoc/nuldoc-src/config.ts | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/services/nuldoc/nuldoc-src/config.ts b/services/nuldoc/nuldoc-src/config.ts deleted file mode 100644 index 267a8f99..00000000 --- a/services/nuldoc/nuldoc-src/config.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { join } from "@std/path"; -import { parse as parseToml } from "@std/toml"; -import { z } from "zod/mod.ts"; - -const ConfigSchema = z.object({ - locations: z.object({ - contentDir: z.string(), - destDir: z.string(), - staticDir: z.string(), - }), - 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(), - postsPerPage: z.number(), - }), - slides: z.object({ - fqdn: z.string(), - siteName: z.string(), - }), - }), - tagLabels: z.record(z.string(), z.string()), -}); - -export type Config = z.infer<typeof ConfigSchema>; - -export function getTagLabel(c: Config, slug: string): string { - if (!(slug in c.tagLabels)) { - throw new Error(`Unknown tag: ${slug}`); - } - return c.tagLabels[slug]; -} - -export function getDefaultConfigPath(): string { - return join(Deno.cwd(), "nuldoc.toml"); -} - -export async function loadConfig(filePath: string): Promise<Config> { - return ConfigSchema.parse(parseToml(await Deno.readTextFile(filePath))); -} |
