mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-15 15:41:05 +00:00
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:
59
document/meta.js
Normal file
59
document/meta.js
Normal 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.stringify,spaces设为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));
|
Reference in New Issue
Block a user