From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- node_modules/prismjs/components/prism-wiki.js | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 node_modules/prismjs/components/prism-wiki.js (limited to 'node_modules/prismjs/components/prism-wiki.js') diff --git a/node_modules/prismjs/components/prism-wiki.js b/node_modules/prismjs/components/prism-wiki.js new file mode 100644 index 00000000..b5cc0665 --- /dev/null +++ b/node_modules/prismjs/components/prism-wiki.js @@ -0,0 +1,81 @@ +Prism.languages.wiki = Prism.languages.extend('markup', { + 'block-comment': { + pattern: /(^|[^\\])\/\*[\s\S]*?\*\//, + lookbehind: true, + alias: 'comment' + }, + 'heading': { + pattern: /^(=+).+?\1/m, + inside: { + 'punctuation': /^=+|=+$/, + 'important': /.+/ + } + }, + 'emphasis': { + // TODO Multi-line + pattern: /('{2,5}).+?\1/, + inside: { + 'bold italic': { + pattern: /(''''').+?(?=\1)/, + lookbehind: true + }, + 'bold': { + pattern: /(''')[^'](?:.*?[^'])?(?=\1)/, + lookbehind: true + }, + 'italic': { + pattern: /('')[^'](?:.*?[^'])?(?=\1)/, + lookbehind: true + }, + 'punctuation': /^''+|''+$/ + } + }, + 'hr': { + pattern: /^-{4,}/m, + alias: 'punctuation' + }, + 'url': [ + /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i, + /\[\[.+?\]\]|\[.+?\]/ + ], + 'variable': [ + /__[A-Z]+__/, + // FIXME Nested structures should be handled + // {{formatnum:{{#expr:{{{3}}}}}}} + /\{{3}.+?\}{3}/, + /\{\{.+?\}\}/ + ], + 'symbol': [ + /^#redirect/im, + /~{3,5}/ + ], + // Handle table attrs: + // {| + // ! style="text-align:left;"| Item + // |} + 'table-tag': { + pattern: /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m, + lookbehind: true, + inside: { + 'table-bar': { + pattern: /\|$/, + alias: 'punctuation' + }, + rest: Prism.languages.markup['tag'].inside + } + }, + 'punctuation': /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m +}); + +Prism.languages.insertBefore('wiki', 'tag', { + // Prevent highlighting inside , and
 tags
+	'nowiki': {
+		pattern: /<(nowiki|pre|source)\b[\s\S]*?>[\s\S]*?<\/\1>/i,
+		inside: {
+			'tag': {
+				pattern: /<(?:nowiki|pre|source)\b[\s\S]*?>|<\/(?:nowiki|pre|source)>/i,
+				inside: Prism.languages.markup['tag'].inside
+			}
+		}
+	}
+});
-- 
cgit v1.2.3