Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
https://markdown-it.github.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.0 KiB
28 lines
1.0 KiB
// Regexps to match html elements
|
|
|
|
'use strict';
|
|
|
|
var attrName = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
|
|
|
|
var unquoted = '[^"\'=<>`\\x00-\\x20]+';
|
|
var singleQuoted = "'[^']*'";
|
|
var doubleQuoted = '"[^"]*"';
|
|
|
|
var attrValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')';
|
|
|
|
var attribute = '(?:\\s+' + attrName + '(?:\\s*=\\s*' + attrValue + ')?)';
|
|
|
|
var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>';
|
|
|
|
var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>';
|
|
var comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->';
|
|
var processing = '<[?].*?[?]>';
|
|
var declaration = '<![A-Z]+\\s+[^>]*>';
|
|
var cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>';
|
|
|
|
var HTML_TAG_RE = new RegExp('^(?:' + openTag + '|' + closeTag + '|' + comment +
|
|
'|' + processing + '|' + declaration + '|' + cdata + ')');
|
|
var HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + openTag + '|' + closeTag + ')');
|
|
|
|
module.exports.HTML_TAG_RE = HTML_TAG_RE;
|
|
module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;
|
|
|