1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/env node
- 'use strict'
- import { readFileSync, writeFileSync } from 'node:fs';
- import { join, dirname } from 'node:path';
- import { fileURLToPath } from 'node:url'
- import { sync } from 'glob';
- import beautify from 'js-beautify';
- const __dirname = dirname(fileURLToPath(import.meta.url))
- const docs = sync(join(__dirname, '..', 'docs', '**', '*.mdx'))
- docs.forEach((file, i) => {
- const oldContent = readFileSync(file, 'utf8')
- // get codeblocks from markdown
- const content = oldContent.replace(/(```([a-z0-9]+).*?\n)(.*?)(```)/gs, (m, m1, m2, m3, m4) => {
- if (m2 === 'html') {
- // m3 = beautify.default.html(m3, {
- // "indent_size": 2,
- // "indent_char": " ",
- // }).trim();
- // remove empty lines
- m3 = m3.replace(/^\s*[\r\n]/gm, '');
- return m1 + m3 + "\n" + m4;
- }
- return m
- })
- if (content !== oldContent) {
- writeFileSync(file, content, 'utf8')
- console.log(`Reformatted ${file}`)
- }
- })
|