mirror of
https://github.com/vercel/streamdown.git
synced 2026-09-19 02:18:37 +08:00
33 lines
890 B
TypeScript
33 lines
890 B
TypeScript
import { type InferPageType, loader } from "fumadocs-core/source";
|
|
import { lucideIconsPlugin } from "fumadocs-core/source/lucide-icons";
|
|
import { docs } from "@/.source/server";
|
|
import { basePath } from "@/geistdocs";
|
|
import { i18n } from "./i18n";
|
|
|
|
// See https://fumadocs.dev/docs/headless/source-api for more info
|
|
export const source = loader({
|
|
i18n,
|
|
baseUrl: "/docs",
|
|
source: docs.toFumadocsSource(),
|
|
plugins: [lucideIconsPlugin()],
|
|
});
|
|
|
|
export const getPageImage = (page: InferPageType<typeof source>) => {
|
|
const segments = [...page.slugs, "image.png"];
|
|
|
|
return {
|
|
segments,
|
|
url: basePath
|
|
? `${basePath}/og/${segments.join("/")}`
|
|
: `/og/${segments.join("/")}`,
|
|
};
|
|
};
|
|
|
|
export const getLLMText = async (page: InferPageType<typeof source>) => {
|
|
const processed = await page.data.getText("processed");
|
|
|
|
return `# ${page.data.title}
|
|
|
|
${processed}`;
|
|
};
|