| const fs = require('fs'); |
| const globby = require('globby'); |
| const matter = require('gray-matter'); |
| const path = require('path'); |
| |
| async function update(root) { |
| const baseDir = __dirname + '/../public/' + root + '/'; |
| |
| const files = await globby([baseDir + '*.js']); |
| |
| for (let file of files) { |
| const fileName = path.basename(file); |
| const code = fs.readFileSync(file, 'utf-8'); |
| if (matter.test(code, { |
| delimiters: ['/*', '*/'] |
| })) { |
| continue; |
| } |
| |
| const mdContent = fs.readFileSync(baseDir + 'meta/' + fileName.replace(/.js$/, '.md'), 'utf-8'); |
| |
| const res = matter(mdContent); |
| const comment = matter.stringify('', res.data, { |
| delimiters: ['/*', '*/'] |
| }); |
| |
| fs.writeFileSync(file, comment + code, 'utf-8'); |
| } |
| } |
| |
| update('data').then(() => { |
| update('data-gl'); |
| }); |