diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 3893817a..93928122 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -60,6 +60,14 @@ md.use(math, { md.use(require('markdown-it-imsize')) md.use(require('markdown-it-footnote')) md.use(require('markdown-it-multimd-table')) +md.use(require('markdown-it-named-headers'), { + slugify: (header) => { + return encodeURI(header.trim() + .replace(/[\]\[\!\"\#\$\%\&\'\(\)\*\+\,\.\/\:\;\<\=\>\?\@\\\^\_\{\|\}\~]/g, '') + .replace(/\s+/g, '-')) + .replace(/\-+$/, '') + } +}) // Override task item md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { let content, terminate, i, l, token diff --git a/package.json b/package.json index 6486e508..e5e1afc7 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "markdown-it-footnote": "^3.0.0", "markdown-it-imsize": "^2.0.1", "markdown-it-multimd-table": "^2.0.1", + "markdown-it-named-headers": "^0.0.4", "md5": "^2.0.0", "mixpanel": "^0.4.1", "moment": "^2.10.3", diff --git a/yarn.lock b/yarn.lock index 5dd4027c..d4510193 100644 --- a/yarn.lock +++ b/yarn.lock @@ -132,7 +132,7 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" -argparse@^1.0.7: +argparse@^1.0.7, argparse@~1.0.3: version "1.0.9" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" dependencies: @@ -3866,7 +3866,7 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -linkify-it@~1.2.2: +linkify-it@~1.2.0, linkify-it@~1.2.2: version "1.2.4" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-1.2.4.tgz#0773526c317c8fd13bd534ee1d180ff88abf881a" dependencies: @@ -4021,6 +4021,28 @@ markdown-it-imsize: version "2.0.1" resolved "https://registry.yarnpkg.com/markdown-it-imsize/-/markdown-it-imsize-2.0.1.tgz#cca0427905d05338a247cb9ca9d968c5cddd5170" +markdown-it-multimd-table@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/markdown-it-multimd-table/-/markdown-it-multimd-table-2.0.1.tgz#2e246dc2ec4ca093cbf05d43c9c1cc64e31f255d" + dependencies: + markdown-it "^5.0.3" + +markdown-it-named-headers@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/markdown-it-named-headers/-/markdown-it-named-headers-0.0.4.tgz#82efc28324240a6b1e77b9aae501771d5f351c1f" + dependencies: + string "^3.0.1" + +markdown-it@^5.0.3: + version "5.1.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-5.1.0.tgz#25286b8465bac496f3f1b77eed544643e9bd718d" + dependencies: + argparse "~1.0.3" + entities "~1.1.1" + linkify-it "~1.2.0" + mdurl "~1.0.1" + uc.micro "^1.0.0" + markdown-it@^6.0.1: version "6.1.1" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-6.1.1.tgz#ced037f4473ee9f5153ac414f77dc83c91ba927c" @@ -5987,6 +6009,10 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" +string@^3.0.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/string/-/string-3.3.3.tgz#5ea211cd92d228e184294990a6cc97b366a77cb0" + string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -6345,7 +6371,7 @@ ua-parser-js@^0.7.9: version "0.7.12" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" -uc.micro@^1.0.1: +uc.micro@^1.0.0, uc.micro@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192"