1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- Prism.languages.wiki = Prism.languages.extend('markup', {
- 'block-comment': {
- pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
- lookbehind: true,
- alias: 'comment'
- },
- 'heading': {
- pattern: /^(=+).+?\1/m,
- inside: {
- 'punctuation': /^=+|=+$/,
- 'important': /.+/
- }
- },
- 'emphasis': {
- pattern: /('{2,4}).+?\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/i,
- /(?:RFC|PMID) +\d+/,
- /\[\[.+?\]\]/,
- /\[.+?\]/
- ],
- 'variable': [
- /__[A-Z]+__/,
- /\{{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 <nowiki>, <source> and <pre> tags
- 'nowiki': {
- pattern: /<(nowiki|pre|source)\b[\w\W]*?>[\w\W]*?<\/\1>/i,
- inside: {
- 'tag': {
- pattern: /<(?:nowiki|pre|source)\b[\w\W]*?>|<\/(?:nowiki|pre|source)>/i,
- inside: Prism.languages.markup['tag'].inside
- }
- }
- }
- });
|