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)
|
|
|
|
})
|