aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vuepress/lib/util/parseHeaders.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/vuepress/lib/util/parseHeaders.js
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-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.js56
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(/&quot;/g, '"')
- .replace(/&#39;/g, '\'')
- .replace(/&#x3A;/g, ':')
- .replace(/&lt;/g, '<')
- .replace(/&gt;/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,
-)