Files
zen-blog/source.config.ts
zeekay 712a10d0f3 Lead the blog with Zen 6 and its two jobs
The home now says who makes Zen LM, Zoo Labs Foundation, a 501(c)(3)
non-profit, the two jobs it is chosen for, that Zen 6 and Zen 6 Flash
are available now, and that Zen 7 is a research preview with a link
to request access. The footer names the foundation, and "Qwen" leaves
the site keywords.

Posts marked "upstream: true" carry data-upstream on their page, card
and read-more link, and scripts/check-zen.mjs fails the build when a
name from zen.upstream shows anywhere else.

The build stops measuring remote images: fumadocs fetched every one to
read its size, and a single host answering 403 failed the build.
2026-09-30 07:01:46 -07:00

41 lines
1.2 KiB
TypeScript

import {
defineConfig,
defineDocs,
frontmatterSchema,
} from "fumadocs-mdx/config";
import { z } from "zod";
import remarkMath from "remark-math";
import rehypeKatex from "rehype-katex";
export default defineConfig({
mdxOptions: {
providerImportSource: "@/mdx-components",
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
rehypeCodeOptions: false,
// Remote images render as they are. Probing each one for its size at build
// time made the build depend on every image host a post links, and one
// that answers 403 failed it.
remarkImageOptions: { external: false },
},
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const _deps = { frontmatterSchema };
export const { docs, meta } = defineDocs({
dir: "content",
docs: {
schema: frontmatterSchema.extend({
date: z.string(),
tags: z.array(z.string()).optional(),
featured: z.boolean().optional().default(false),
readTime: z.string().optional(),
author: z.string().optional(),
thumbnail: z.string().optional(),
// The post's subject is another lab's release; its page and card carry data-upstream.
upstream: z.boolean().optional().default(false),
}),
},
});