New document (#5299)

* 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>
This commit is contained in:
Archer
2025-07-23 21:35:03 +08:00
committed by GitHub
parent ce9ec1bf57
commit fe7abf22a9
895 changed files with 36297 additions and 56 deletions

59
document/meta.js Normal file
View File

@@ -0,0 +1,59 @@
import fs from 'fs-extra';
import path from 'path';
async function generateMeta(dir) {
const entries = await fs.readdir(dir, { withFileTypes: true });
const pages = [];
for (const entry of entries) {
if (entry.isDirectory()) {
pages.push(entry.name);
} else if (
entry.isFile() &&
entry.name.endsWith('.mdx') &&
!entry.name.endsWith('.en.mdx')
) {
const nameWithoutExt = entry.name.replace(/\.mdx$/, '');
pages.push(nameWithoutExt);
}
}
const metaPath = path.join(dir, 'meta.json');
// 使用 JSON.stringifyspaces设为2数组不换行
// 通过 replacer 参数实现“pages”数组一行
const jsonString = JSON.stringify(
{ pages },
(key, value) => {
if (key === 'pages') {
return value; // 保持pages数组原样
}
return value;
},
2
);
// 手动替换 pages 数组换行,变成一行显示
const oneLinePages = `"pages": ${JSON.stringify(pages)}`;
const finalJson = jsonString.replace(
/"pages": \[[^\]]*\]/,
oneLinePages
);
await fs.writeFile(metaPath, finalJson, 'utf-8');
console.log(`Generated meta.json in ${dir}`);
// 递归处理子目录
for (const entry of entries) {
if (entry.isDirectory()) {
await generateMeta(path.join(dir, entry.name));
}
}
}
const targetDir = './content/docs/development/openapi';
generateMeta(targetDir)
.then(() => console.log('All meta.json files generated!'))
.catch((err) => console.error(err));