docs: independent cache of menu data in different languages

This commit is contained in:
unix
2020-04-10 09:28:22 +08:00
parent 3bd35c0145
commit bad52262d9
3 changed files with 49 additions and 11 deletions

View File

@@ -3,7 +3,10 @@ const path = require('path')
const extractMetadata = require('extract-mdx-metadata')
const metaLocales = require('./locales')
const pagePrefix = path.join(__dirname, '../pages')
const targetPath = path.join(__dirname, '../lib/data/metadata.json')
const getTargetPath = locale => {
return path.join(__dirname, '../lib/data/', `metadata-${locale}.json`)
}
const weights = {
'guide': 1,
'docs': 2,
@@ -122,15 +125,11 @@ const deepTranslate = (metadata, locales) => {
}
}))
const jsonData = sortdMetaData.reduce((pre, current) => {
return {
...pre,
[current.name]: current.content,
}
}, [])
await fs.ensureFile(targetPath)
await fs.writeJson(targetPath, jsonData)
await Promise.all(sortdMetaData.map(async data => {
const targetPath = getTargetPath(data.name)
await fs.ensureFile(targetPath)
await fs.writeJson(targetPath, data.content)
}))
} catch (e) {
console.log(e)
process.exit(1)