summaryrefslogtreecommitdiff
path: root/packages/markdown-it-14.1.0/lib/common/html_re.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/markdown-it-14.1.0/lib/common/html_re.mjs')
-rw-r--r--packages/markdown-it-14.1.0/lib/common/html_re.mjs25
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/markdown-it-14.1.0/lib/common/html_re.mjs b/packages/markdown-it-14.1.0/lib/common/html_re.mjs
new file mode 100644
index 0000000..ccfbf87
--- /dev/null
+++ b/packages/markdown-it-14.1.0/lib/common/html_re.mjs
@@ -0,0 +1,25 @@
+// Regexps to match html elements
+
+const attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*'
+
+const unquoted = '[^"\'=<>`\\x00-\\x20]+'
+const single_quoted = "'[^']*'"
+const double_quoted = '"[^"]*"'
+
+const attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')'
+
+const attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)'
+
+const open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'
+
+const close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'
+const comment = '<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->'
+const processing = '<[?][\\s\\S]*?[?]>'
+const declaration = '<![A-Za-z][^>]*>'
+const cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'
+
+const HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +
+ '|' + processing + '|' + declaration + '|' + cdata + ')')
+const HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')')
+
+export { HTML_TAG_RE, HTML_OPEN_CLOSE_TAG_RE }