diff --git a/js/language/markdown.js b/js/language/markdown.js new file mode 100644 index 00000000..6c0c0c27 --- /dev/null +++ b/js/language/markdown.js @@ -0,0 +1,62 @@ +// +Rainbow.extend('markdown', [ + { + 'name': 'bold', + 'pattern': /([*_]{2}).*?\1/g + }, + { + 'name': 'italic', + 'pattern': /([*_]).*?\1/g + }, + { + 'name': 'strike', + 'pattern': /(~{2}).*?\1/g + }, + { + 'matches': { + 1: 'hr' + }, + 'pattern': /^ {0,3}([-+* ]{3,})$/gm + }, + { + 'name': 'header', + 'pattern': /^#{1,6} *.+|(^|\n).+\n[-=]+$/gm + }, + { + 'name': 'pre', + 'pattern': /^([~`]{3,}) *\.?[a-z0-9\-]+[\s\S]*?\n\1$/gm + }, + { + 'name': 'code', + 'pattern': /`.*?`/g + }, + { + matches: { + 1: 'bullet' + }, + 'pattern': /^\s*([0-9]+\.|[-+*]) /gm + }, + { + matches: { + 0: 'image', + 1: 'link' + }, + 'pattern': /!?(\[.*?\]\(.*?\))/g + }, + { + 'name': 'footnote', + 'pattern': /\[\^.*?\]:?/g + }, + { + 'name': 'abbr', + 'pattern': /^ *\*\[.*?\]:/gm + }, + { + 'name': 'link', + 'pattern': /<(?:ht|f)tps?:\/\/.*?>/g + }, + { + 'name': 'html', + 'pattern': /<.*?>/g + } +], true);