emoji-picker-element/bin/generateTOC.js

22 lines
710 B
JavaScript
Raw Permalink Normal View History

2020-06-21 20:55:27 +02:00
import { readFile } from './fs.js'
import markdownToc from 'markdown-toc'
import { replaceInReadme } from './replaceInReadme.js'
const TOC_START_MARKER = '<!-- toc start -->'
const TOC_END_MARKER = '<!-- toc end -->'
2020-12-13 20:40:05 +01:00
const CI_BADGE = /\[!\[Build status]\(.*?\)]\(.*?\)/
2020-06-25 03:01:52 +02:00
2020-06-21 20:55:27 +02:00
async function main () {
2020-06-25 03:01:52 +02:00
const content = (await readFile('./README.md', 'utf8'))
2020-12-13 20:40:05 +01:00
.replace(CI_BADGE, '') // remove travis badge, it confuses markdown-toc
2020-06-25 03:01:52 +02:00
const toc = markdownToc(content).content
2020-06-25 03:03:24 +02:00
.replace('#emoji-picker-element', '#emoji-picker-element-') // it confuses GitHub's anchor links too
2020-06-25 03:01:52 +02:00
await replaceInReadme(TOC_START_MARKER, TOC_END_MARKER, toc)
2020-06-21 20:55:27 +02:00
}
main().catch(err => {
console.error(err)
process.exit(1)
})