feat: expose API markdown doc

This commit is contained in:
ittoview
2026-05-09 17:04:22 +01:00
parent 693aa7df61
commit 1a8948761b
5 changed files with 69 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url))
const rootDir = path.resolve(__dirname, '..')
const dataDir = path.join(rootDir, 'src', 'data')
const apiDir = path.join(rootDir, 'public', 'api')
const apiDocPath = path.join(rootDir, 'public', 'apidoc')
function readJson(relativePath) {
return JSON.parse(fs.readFileSync(path.join(rootDir, relativePath), 'utf8'))
@@ -24,9 +25,21 @@ function writeJson(relativePath, data) {
function cleanApiDir() {
fs.rmSync(apiDir, { recursive: true, force: true })
fs.rmSync(apiDocPath, { force: true })
ensureDir(apiDir)
}
function writeTextFile(target, content) {
ensureDir(path.dirname(target))
fs.writeFileSync(target, content, 'utf8')
}
function copyApiDoc() {
const source = path.join(rootDir, 'docs', '知识库API接口说明.md')
const content = fs.readFileSync(source, 'utf8')
writeTextFile(apiDocPath, content)
}
function extractConstArrayFromTs(filePath, constName) {
const text = fs.readFileSync(filePath, 'utf8')
const marker = `export const ${constName}`
@@ -280,4 +293,7 @@ for (const tool of tools) {
writeJson(`tools/${tool.id}/usage.json`, toolUsage(tool))
}
copyApiDoc()
console.log(`已生成静态 API 文件:${path.relative(rootDir, apiDir)}`)
console.log(`已生成 Markdown 接口文档:${path.relative(rootDir, apiDocPath)}`)