This commit is contained in:
polv committed 2020-12-15 18:42:00 +07:00
1 parent 31dd2b0049
commit 7039b10df2
32 files changed
+415 -192

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
import fs from 'fs'
import yaml from 'js-yaml'
import * as z from 'zod'
export const THEME_FILENAME = 'theme.yml'
export const zTheme = z
.object({
title: z.string(),
description: z.string().optional(),
keywords: z.array(z.string()).optional(),
nav: z
.array(
z
.object({
name: z.string(),
to: z.string(),
})
.or(
z.object({
name: z.string(),
href: z.string(),
})
)
)
.optional(),
author: z
.object({
url: z.string().optional(),
email: z.string().optional(),
name: z.string(),
})
.nonstrict(),
analytics: z
.object({
plausible: z.string().optional(),
})
.optional(),
comment: z
.object({
remark42: z
.object({
host: z.string(),
siteId: z.string(),
})
.optional(),
})
.optional(),
})
.nonstrict()
export function getTheme() {
return zTheme.parse(yaml.safeLoad(fs.readFileSync(THEME_FILENAME, 'utf-8')))
}