mirror of
https://github.com/labring/FastGPT.git
synced 2026-05-05 01:02:59 +08:00
fe7abf22a9
* add new doc (#5175) Co-authored-by: dreamer6680 <146868355@qq.com> * Test docs (#5235) * fix: change the page of doc * chore: add new dependencies, update global styles/layout, optimize docs, add Feishu & GitHub icons, update API examples * fix: docs/index 404 not found * Update environment variable names, optimize styles, add new API routes, fix component styles, adjust documentation, and update GitHub and Feishu icons * update readme * feat: add a linkfastgpt compontent * feat: update new doc * fix:remove unuse page and redirect homepage to docs (#5288) * fix:remove some unuse doc * fix: redirect homepage to doc * git ignore * fix:navbar to index (#5295) * sidbar * fix: navtab unlight (#5298) * doc --------- Co-authored-by: dreamer6680 <1468683855@qq.com> Co-authored-by: dreamer6680 <146868355@qq.com>
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import * as fs from 'node:fs/promises';
|
|
import fg from 'fast-glob';
|
|
import matter from 'gray-matter';
|
|
import { remark } from 'remark';
|
|
import remarkGfm from 'remark-gfm';
|
|
import remarkStringify from 'remark-stringify';
|
|
import remarkMdx from 'remark-mdx';
|
|
import { remarkInclude } from 'fumadocs-mdx/config';
|
|
import { i18n } from '@/lib/i18n';
|
|
|
|
export const revalidate = false;
|
|
|
|
const processor = remark()
|
|
.use(remarkMdx)
|
|
// https://fumadocs.vercel.app/docs/mdx/include
|
|
.use(remarkInclude)
|
|
// gfm styles
|
|
.use(remarkGfm)
|
|
// .use(your remark plugins)
|
|
.use(remarkStringify); // to string
|
|
|
|
export async function GET() {
|
|
// all scanned content
|
|
// Select files based on the default language
|
|
const defaultLanguage = i18n.defaultLanguage;
|
|
let globPattern;
|
|
|
|
if (defaultLanguage === 'zh-CN') {
|
|
// For Chinese, select *.mdx files
|
|
globPattern = ['./content/docs/**/*.mdx'];
|
|
} else {
|
|
// For other languages (default English), select *.en.mdx files that don't have .mdx. in their path
|
|
globPattern = ['./content/docs/**/*.en.mdx'];
|
|
}
|
|
|
|
const files = await fg(globPattern);
|
|
|
|
const scan = files.map(async (file: string) => {
|
|
const fileContent = await fs.readFile(file);
|
|
const { content, data } = matter(fileContent.toString());
|
|
|
|
const processed = await processor.process({
|
|
path: file,
|
|
value: content
|
|
});
|
|
|
|
return `file: ${file}
|
|
meta: ${JSON.stringify(data, null, 2)}
|
|
|
|
${processed}`;
|
|
});
|
|
|
|
const scanned = await Promise.all(scan);
|
|
|
|
return new Response(scanned.join('\n\n'));
|
|
}
|