From a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 30 Dec 2021 19:47:21 +0100 Subject: chore: add prismjs for syntax highlighting --- public/prism/prism-wiki.min.js | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 public/prism/prism-wiki.min.js (limited to 'public/prism/prism-wiki.min.js') diff --git a/public/prism/prism-wiki.min.js b/public/prism/prism-wiki.min.js new file mode 100644 index 0000000..932cfe7 --- /dev/null +++ b/public/prism/prism-wiki.min.js @@ -0,0 +1,51 @@ +(Prism.languages.wiki = Prism.languages.extend('markup', { + 'block-comment': { + pattern: /(^|[^\\])\/\*[\s\S]*?\*\//, + lookbehind: !0, + alias: 'comment', + }, + heading: { + pattern: /^(=+)[^=\r\n].*?\1/m, + inside: { punctuation: /^=+|=+$/, important: /.+/ }, + }, + emphasis: { + pattern: /('{2,5}).+?\1/, + inside: { + 'bold-italic': { + pattern: /(''''').+?(?=\1)/, + lookbehind: !0, + alias: ['bold', 'italic'], + }, + bold: { pattern: /(''')[^'](?:.*?[^'])?(?=\1)/, lookbehind: !0 }, + italic: { pattern: /('')[^'](?:.*?[^'])?(?=\1)/, lookbehind: !0 }, + punctuation: /^''+|''+$/, + }, + }, + hr: { pattern: /^-{4,}/m, alias: 'punctuation' }, + url: [ + /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i, + /\[\[.+?\]\]|\[.+?\]/, + ], + variable: [/__[A-Z]+__/, /\{{3}.+?\}{3}/, /\{\{.+?\}\}/], + symbol: [/^#redirect/im, /~{3,5}/], + 'table-tag': { + pattern: /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m, + lookbehind: !0, + inside: { + 'table-bar': { pattern: /\|$/, alias: 'punctuation' }, + rest: Prism.languages.markup.tag.inside, + }, + }, + punctuation: /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m, +})), + Prism.languages.insertBefore('wiki', 'tag', { + nowiki: { + pattern: /<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i, + inside: { + tag: { + pattern: /<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i, + inside: Prism.languages.markup.tag.inside, + }, + }, + }, + }); -- cgit v1.2.3