reformat-codeblocks.js 623 B

123456789101112131415161718192021222324
  1. const fs = require('fs')
  2. const path = require('path')
  3. const glob = require('glob')
  4. const { html: beautifyHtml } = require('js-beautify')
  5. const files = glob(path.join(__dirname, '../content/{docs,blog}/**/*.mdx'), {}, (err, files) => {
  6. files.forEach((file) => {
  7. let content = fs.readFileSync(file, 'utf-8')
  8. content = content.replace(/\n\n+/g, '\n\n')
  9. content = content.replace(/(?<=```html [^\n]+\n)([^`]+)(?=\n```)/g, (m, code) => {
  10. code = code.trim()
  11. code = beautifyHtml(code, {
  12. indent_size: 2,
  13. })
  14. return code
  15. })
  16. fs.writeFileSync(file, content, 'utf-8')
  17. })
  18. })