fe2178e1566f2c53f77a1cdc545e08a55f59ea792d6bac83b9d33c62ef52c825.json 15 KB

1
  1. {"ast":null,"code":"/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi <john.crepezzi@gmail.com>\nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n {\n begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*'\n }, {\n begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*'\n },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n }, {\n begin: '~~~',\n end: '~~~+[ ]*$'\n }, {\n begin: '`.+?`'\n }, {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [{\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }],\n relevance: 0\n }]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [{\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n }, {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n }, {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }],\n returnBegin: true,\n contains: [{\n // empty strings for alt or link text\n match: /\\[(?=\\])/\n }, {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n }, {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n }, {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }]\n };\n const BOLD = {\n className: 'strong',\n contains: [],\n // defined later\n variants: [{\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n }, {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [],\n // defined later\n variants: [{\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n }, {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, {\n contains: []\n });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, {\n contains: []\n });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n let CONTAINABLE = [INLINE_HTML, LINK];\n [BOLD, ITALIC, BOLD_WITHOUT_ITALIC, ITALIC_WITHOUT_BOLD].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n const HEADER = {\n className: 'section',\n variants: [{\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n }, {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [{\n begin: '^[=-]*$'\n }, {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }]\n }]\n };\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n return {\n name: 'Markdown',\n aliases: ['md', 'mkdown', 'mkd'],\n contains: [HEADER, INLINE_HTML, LIST, BOLD, ITALIC, BLOCKQUOTE, CODE, HORIZONTAL_RULE, LINK, LINK_REFERENCE, ENTITY]\n };\n}\nmodule.exports = markdown;","map":{"version":3,"names":["markdown","hljs","regex","INLINE_HTML","begin","end","subLanguage","relevance","HORIZONTAL_RULE","CODE","className","variants","contains","LIST","excludeEnd","LINK_REFERENCE","returnBegin","excludeBegin","URL_SCHEME","LINK","concat","match","returnEnd","BOLD","ITALIC","BOLD_WITHOUT_ITALIC","inherit","ITALIC_WITHOUT_BOLD","push","CONTAINABLE","forEach","m","HEADER","BLOCKQUOTE","ENTITY","scope","name","aliases","module","exports"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/highlight.js/lib/languages/markdown.js"],"sourcesContent":["/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi <john.crepezzi@gmail.com>\nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n HORIZONTAL_RULE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\nmodule.exports = markdown;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}