fix: handle case insensitive table of contents token (#1288)

* fix: check for lowercase TOC token

* run prettier

* fix: handle case insensitive

* nits
This commit is contained in:
vikrantsinghthakur 2019-03-20 15:54:17 +05:30 committed by Endilie Yacop Sucipto
parent d89401b47e
commit 79bbe8e59e

View file

@ -9,7 +9,7 @@ const Remarkable = require('remarkable');
const mdToc = require('markdown-toc');
const toSlug = require('./toSlug');
const TABLE_OF_CONTENTS_TOKEN = '<AUTOGENERATED_TABLE_OF_CONTENTS>';
const tocRegex = new RegExp('<AUTOGENERATED_TABLE_OF_CONTENTS>', 'i');
/**
* Returns a table of content from the headings
@ -58,7 +58,7 @@ function getTOC(content, headingTags = 'h2', subHeadingTags = 'h3') {
// takes the content of a doc article and returns the content with a table of
// contents inserted
function insertTOC(rawContent) {
if (!rawContent || rawContent.indexOf(TABLE_OF_CONTENTS_TOKEN) === -1) {
if (!rawContent || !tocRegex.test(rawContent)) {
return rawContent;
}
const filterRe = /^`[^`]*`/;
@ -67,7 +67,7 @@ function insertTOC(rawContent) {
.filter(header => filterRe.test(header.rawContent))
.map(header => ` - [${header.rawContent}](#${header.hashLink})`)
.join('\n');
return rawContent.replace(TABLE_OF_CONTENTS_TOKEN, tableOfContents);
return rawContent.replace(tocRegex, tableOfContents);
}
module.exports = {