diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:43:05 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 22:18:30 +0800 |
| commit | 89e95b3f143682ed9a006991bacf45c9dcba4818 (patch) | |
| tree | 4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/vuepress/lib/util/parseHeaders.js | |
| parent | aa7f0199255277949790b41c56e8ec97dd4f0da4 (diff) | |
| download | xmake-docs-vuepress.tar.gz xmake-docs-vuepress.zip | |
remove node_modulesvuepress
Diffstat (limited to 'node_modules/vuepress/lib/util/parseHeaders.js')
| -rw-r--r-- | node_modules/vuepress/lib/util/parseHeaders.js | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/node_modules/vuepress/lib/util/parseHeaders.js b/node_modules/vuepress/lib/util/parseHeaders.js deleted file mode 100644 index 2c9fe641..00000000 --- a/node_modules/vuepress/lib/util/parseHeaders.js +++ /dev/null @@ -1,56 +0,0 @@ -// Since VuePress needs to extract the header from the markdown source -// file and display it in the sidebar or title (#238), this file simply -// removes some unnecessary elements to make header displays well at -// sidebar or title. -// -// But header's parsing in the markdown content is done by the markdown -// loader based on markdown-it. markdown-it parser will will always keep -// HTML in headers, so in VuePress, after being parsed by the markdiwn -// loader, the raw HTML in headers will finally be parsed by Vue-loader. -// so that we can write HTML/Vue in the header. One exception is the HTML -// wrapped by <code>(markdown token: '`') tag. - -const { compose } = require('./shared') - -const parseEmojis = str => { - const emojiData = require('markdown-it-emoji/lib/data/full.json') - return String(str).replace(/:(.+?):/g, (placeholder, key) => emojiData[key] || placeholder) -} - -const unescapeHtml = html => String(html) - .replace(/"/g, '"') - .replace(/'/g, '\'') - .replace(/:/g, ':') - .replace(/</g, '<') - .replace(/>/g, '>') - -const removeMarkdownTokens = str => String(str) - .replace(/\[(.*)\]\(.*\)/, '$1') // []() - .replace(/(`|\*{1,3}|_)(.*?[^\\])\1/g, '$2') // `{t}` | *{t}* | **{t}** | ***{t}*** | _{t}_ - .replace(/(\\)(\*|_|`|\!)/g, '$2') // remove escape char '\' - -const trim = str => str.trim() - -// This method remove the raw HTML but reserve the HTML wrapped by `<code>`. -// e.g. -// Input: "<a> b", Output: "b" -// Input: "`<a>` b", Output: "`<a>` b" -exports.removeNonCodeWrappedHTML = (str) => { - return String(str).replace(/(^|[^><`])<.*>([^><`]|$)/g, '$1$2') -} - -// Unescape html, parse emojis and remove some md tokens. -exports.parseHeaders = compose( - unescapeHtml, - parseEmojis, - removeMarkdownTokens, - trim -) - -// Also clean the html that isn't wrapped by code. -// Because we want to support using VUE components in headers. -// e.g. https://vuepress.vuejs.org/guide/using-vue.html#badge -exports.deeplyParseHeaders = compose( - exports.removeNonCodeWrappedHTML, - exports.parseHeaders, -) |
