diff options
| author | nsfisis <nsfisis@gmail.com> | 2023-09-20 19:56:52 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-09-20 19:56:57 +0900 |
| commit | a84908b7e8a0e2423afd6b836eccf27a420270b4 (patch) | |
| tree | 00204b62358f8c57fcb36f601db360626484cc1a /vhosts/blog/nuldoc-src/slide/parse.ts | |
| parent | 0b488f85380f964c40b0b9aae69c6611bc7978bc (diff) | |
| download | nsfisis.dev-a84908b7e8a0e2423afd6b836eccf27a420270b4.tar.gz nsfisis.dev-a84908b7e8a0e2423afd6b836eccf27a420270b4.tar.zst nsfisis.dev-a84908b7e8a0e2423afd6b836eccf27a420270b4.zip | |
feat(blog/nuldoc): change content format from DocBook to NulDoc
Diffstat (limited to 'vhosts/blog/nuldoc-src/slide/parse.ts')
| -rw-r--r-- | vhosts/blog/nuldoc-src/slide/parse.ts | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/vhosts/blog/nuldoc-src/slide/parse.ts b/vhosts/blog/nuldoc-src/slide/parse.ts index 00ff645f..45ac6388 100644 --- a/vhosts/blog/nuldoc-src/slide/parse.ts +++ b/vhosts/blog/nuldoc-src/slide/parse.ts @@ -1,19 +1,29 @@ +import { parse as parseToml } from "std/encoding/toml.ts"; import { Config } from "../config.ts"; -import { parseXmlFile } from "../xml.ts"; -import { SlideError, XmlParseError } from "../errors.ts"; -import { createNewSlideFromRootElement, Slide } from "./slide.ts"; +import { createNewSlideFromTomlRootObject, Slide } from "./slide.ts"; export async function parseSlideFile( filePath: string, config: Config, ): Promise<Slide> { try { - const root = await parseXmlFile(filePath); - return createNewSlideFromRootElement(root, filePath, config); + // TODO runtime assertion + const root = parseToml(await Deno.readTextFile(filePath)) as { + slide: { + title: string; + event: string; + talkType: string; + link: string; + tags: string[]; + revisions: { + date: string; + remark: string; + }[]; + }; + }; + return createNewSlideFromTomlRootObject(root, filePath, config); } catch (e) { - if (e instanceof SlideError || e instanceof XmlParseError) { - e.message = `${e.message} in ${filePath}`; - } + e.message = `${e.message} in ${filePath}`; throw e; } } |
