| 16 | const re = /^#.*\n/gm |
| 17 | |
| 18 | async function updateMdHeaders(dir) { |
| 19 | walk(dir, { includeBasePath: true, directories: false }) |
| 20 | .filter((file) => !file.endsWith('README.md') && !file.includes('content/rest/reference')) |
| 21 | .forEach((file) => { |
| 22 | fs.readFile(file, 'utf8', (err, data) => { |
| 23 | if (err) return console.error(err) |
| 24 | const matchHeader = data.match(re) |
| 25 | let firstHeader = matchHeader ? matchHeader[0].split(' ')[0] : null |
| 26 | if (firstHeader) { |
| 27 | for (let index = 1; index < matchHeader.length; index++) { |
| 28 | const nextHeader = matchHeader[index].split(' ')[0] |
| 29 | if (nextHeader.length < firstHeader.length && nextHeader.length >= 3) { |
| 30 | console.log(file) |
| 31 | break |
| 32 | } |
| 33 | } |
| 34 | } |
| 35 | if (file.includes('data/reusables/')) { |
| 36 | if ( |
| 37 | !file.endsWith('data/reusables/actions/actions-group-concurrency.md') && |
| 38 | !file.endsWith('data/reusables/github-actions/actions-on-examples.md') |
| 39 | ) { |
| 40 | firstHeader = 'reusable-' + firstHeader |
| 41 | } |
| 42 | } |
| 43 | let result |
| 44 | switch (firstHeader) { |
| 45 | case '#': |
| 46 | return |
| 47 | case '##': |
| 48 | return |
| 49 | case '###': |
| 50 | result = data |
| 51 | .replace(/^miniTocMaxHeadingLevel: 4/gm, 'miniTocMaxHeadingLevel: 3') |
| 52 | .replace(/^### /gm, '## ') |
| 53 | .replace(/^#### /gm, '### ') |
| 54 | .replace(/^##### /gm, '#### ') |
| 55 | .replace(/^###### /gm, '##### ') |
| 56 | break |
| 57 | case '####': |
| 58 | result = data |
| 59 | .replace(/^#### /gm, '## ') |
| 60 | .replace(/^##### /gm, '### ') |
| 61 | .replace(/^###### /gm, '#### ') |
| 62 | break |
| 63 | case 'reusable-####': |
| 64 | result = data.replace(/^#### /gm, '### ').replace(/^##### /gm, '#### ') |
| 65 | break |
| 66 | case 'reusable-#####': |
| 67 | result = data.replace(/^##### /gm, '#### ') |
| 68 | break |
| 69 | case '#####': |
| 70 | result = data.replace(/^##### /gm, '### ').replace(/^###### /gm, '#### ') |
| 71 | break |
| 72 | default: |
| 73 | return |
| 74 | } |
| 75 | fs.writeFile(file, result, 'utf8', function (err) { |