123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- module.exports = function(hljs) {
- return {
- aliases: ['md', 'mkdown', 'mkd'],
- contains: [
- // highlight headers
- {
- className: 'section',
- variants: [
- { begin: '^#{1,6}', end: '$' },
- { begin: '^.+?\\n[=-]{2,}$' }
- ]
- },
- // inline html
- {
- begin: '<', end: '>',
- subLanguage: 'xml',
- relevance: 0
- },
- // lists (indicators only)
- {
- className: 'bullet',
- begin: '^\\s*([*+-]|(\\d+\\.))\\s+'
- },
- // strong segments
- {
- className: 'strong',
- begin: '[*_]{2}.+?[*_]{2}'
- },
- // emphasis segments
- {
- className: 'emphasis',
- variants: [
- { begin: '\\*.+?\\*' },
- { begin: '_.+?_'
- , relevance: 0
- }
- ]
- },
- // blockquotes
- {
- className: 'quote',
- begin: '^>\\s+', end: '$'
- },
- // code snippets
- {
- className: 'code',
- variants: [
- {
- begin: '^```\\w*\\s*$', end: '^```[ ]*$'
- },
- {
- begin: '`.+?`'
- },
- {
- begin: '^( {4}|\\t)', end: '$',
- relevance: 0
- }
- ]
- },
- // horizontal rules
- {
- begin: '^[-\\*]{3,}', end: '$'
- },
- // using links - title and link
- {
- begin: '\\[.+?\\][\\(\\[].*?[\\)\\]]',
- returnBegin: true,
- contains: [
- {
- className: 'string',
- begin: '\\[', end: '\\]',
- excludeBegin: true,
- returnEnd: true,
- relevance: 0
- },
- {
- className: 'link',
- begin: '\\]\\(', end: '\\)',
- excludeBegin: true, excludeEnd: true
- },
- {
- className: 'symbol',
- begin: '\\]\\[', end: '\\]',
- excludeBegin: true, excludeEnd: true
- }
- ],
- relevance: 10
- },
- {
- begin: /^\[[^\n]+\]:/,
- returnBegin: true,
- contains: [
- {
- className: 'symbol',
- begin: /\[/, end: /\]/,
- excludeBegin: true, excludeEnd: true
- },
- {
- className: 'link',
- begin: /:\s*/, end: /$/,
- excludeBegin: true
- }
- ]
- }
- ]
- };
- };
|