This repository has been archived on 2025-06-28. You can view files and clone it, but cannot push or open issues or pull requests.
Files
vitepress-theme-blog-charle…/collect-article-data.mjs

21 lines
660 B
JavaScript

import glob from 'fast-glob'
import matter from 'gray-matter'
import fs from 'node:fs/promises'
// 感谢: https://github.com/brc-dd/vitepress-blog-demo
const articleData = await Promise.all(
glob.sync('./repos/**/*.md', {
onlyFiles: true,
objectMode: true,
ignore: ['./repos/**/index.md', './repos/**/tags.md', './repos/**/me.md'], // without !
}).map(async (article) => {
const file = matter.read(`${article.path}`)
const { data, path } = file
return {
...data,
path: path.replace(/\.md$/, '.html').replace('./repos/', '')
}
})
)
await fs.writeFile('./article-data.json', JSON.stringify(articleData), 'utf-8')