Files
FastGPT/document/clean-frontmatter.js
Archer fe7abf22a9 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>
2025-07-23 21:35:03 +08:00

44 lines
1.1 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const matter = require('gray-matter');
// ✅ 设置要处理的根目录(可修改为你的文档目录)
const rootDir = path.resolve(__dirname, 'content/docs');
// ✅ 仅保留的 frontmatter 字段
const KEEP_FIELDS = ['title', 'description'];
function cleanFrontmatter(filePath) {
const raw = fs.readFileSync(filePath, 'utf-8');
const parsed = matter(raw);
// 仅保留需要的字段
const newData = {};
for (const key of KEEP_FIELDS) {
if (parsed.data[key] !== undefined) {
newData[key] = parsed.data[key];
}
}
const cleaned = matter.stringify(parsed.content, newData);
fs.writeFileSync(filePath, cleaned, 'utf-8');
console.log(`✔ Cleaned: ${path.relative(rootDir, filePath)}`);
}
function walk(dir) {
const entries = fs.readdirSync(dir);
for (const entry of entries) {
const fullPath = path.join(dir, entry);
const stat = fs.statSync(fullPath);
if (stat.isDirectory()) {
walk(fullPath); // 🔁 递归子目录
} else if (entry.endsWith('.mdx')) {
cleanFrontmatter(fullPath);
}
}
}
// 🚀 开始执行
walk(rootDir);