summaryrefslogtreecommitdiffhomepage
path: root/vhosts/blog/nuldoc-src/slide
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-06-27 23:39:31 +0900
committernsfisis <nsfisis@gmail.com>2025-06-27 23:39:31 +0900
commit674fe965550444db87edc7937ff6932e1a918d9d (patch)
treee8a80dd958d3e082485286bf5785a7992b6e6b0e /vhosts/blog/nuldoc-src/slide
parentfe4d1d625b53796c5f20399790e5ff8c7a7e1608 (diff)
downloadnsfisis.dev-674fe965550444db87edc7937ff6932e1a918d9d.tar.gz
nsfisis.dev-674fe965550444db87edc7937ff6932e1a918d9d.tar.zst
nsfisis.dev-674fe965550444db87edc7937ff6932e1a918d9d.zip
feat(meta): rename vhosts/ directory to services/
Diffstat (limited to 'vhosts/blog/nuldoc-src/slide')
-rw-r--r--vhosts/blog/nuldoc-src/slide/parse.ts20
-rw-r--r--vhosts/blog/nuldoc-src/slide/slide.ts67
2 files changed, 0 insertions, 87 deletions
diff --git a/vhosts/blog/nuldoc-src/slide/parse.ts b/vhosts/blog/nuldoc-src/slide/parse.ts
deleted file mode 100644
index c5a89675..00000000
--- a/vhosts/blog/nuldoc-src/slide/parse.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { parse as parseToml } from "@std/toml";
-import {
- createNewSlideFromMetadata,
- Slide,
- SlideMetadataSchema,
-} from "./slide.ts";
-
-export async function parseSlideFile(filePath: string): Promise<Slide> {
- try {
- const root = SlideMetadataSchema.parse(
- parseToml(await Deno.readTextFile(filePath)),
- );
- return createNewSlideFromMetadata(root, filePath);
- } catch (e) {
- if (e instanceof Error) {
- e.message = `${e.message} in ${filePath}`;
- }
- throw e;
- }
-}
diff --git a/vhosts/blog/nuldoc-src/slide/slide.ts b/vhosts/blog/nuldoc-src/slide/slide.ts
deleted file mode 100644
index 8fe99eab..00000000
--- a/vhosts/blog/nuldoc-src/slide/slide.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { SlideError } from "../errors.ts";
-import { Revision, stringToDate } from "../revision.ts";
-import { z } from "zod/mod.ts";
-
-export const SlideMetadataSchema = z.object({
- slide: z.object({
- uuid: z.string(),
- title: z.string(),
- event: z.string(),
- talkType: z.string(),
- link: z.string(),
- tags: z.array(z.string()),
- revisions: z.array(z.object({
- date: z.string(),
- remark: z.string(),
- isInternal: z.boolean().optional(),
- })),
- }),
-});
-
-export type SlideMetadata = z.infer<typeof SlideMetadataSchema>;
-
-export type Slide = {
- sourceFilePath: string;
- uuid: string;
- title: string;
- event: string;
- talkType: string;
- slideLink: string;
- tags: string[];
- revisions: Revision[];
-};
-
-export function createNewSlideFromMetadata(
- { slide }: SlideMetadata,
- sourceFilePath: string,
-): Slide {
- const revisions = slide.revisions.map(
- (rev, i) => {
- const date = rev.date;
- const remark = rev.remark;
- const isInternal = rev.isInternal ?? false;
- return {
- number: i + 1,
- date: stringToDate(date),
- remark,
- isInternal,
- };
- },
- );
- if (revisions.length === 0) {
- throw new SlideError(
- `[slide.new] 'slide.revisions' field is empty`,
- );
- }
-
- return {
- sourceFilePath: sourceFilePath,
- uuid: slide.uuid,
- title: slide.title,
- event: slide.event,
- talkType: slide.talkType,
- slideLink: slide.link,
- tags: slide.tags,
- revisions: revisions,
- };
-}