core :: Sys :: re_html_blocks
# HTML blocks patterns
var re_html_blocks: Array[Array[nullable Regex]] do
var blocks = new Array[Array[nullable Regex]]
var re0_opening = "^<(script|pre|style)(\\s|>|$)".to_re
re0_opening.ignore_case = true
var re0_closing = "</(script|pre|style)>".to_re
re0_closing.ignore_case = true
blocks.add([re0_opening, re0_closing])
blocks.add([
"^<!--".to_re,
"-->".to_re
])
blocks.add([
"^<[?]".to_re,
"\\?>".to_re
])
blocks.add([
"^<![A-Z]".to_re,
">".to_re
])
blocks.add([
"^<!\\[CDATA\\[".to_re,
"\\]\\]>".to_re
])
var re5_opening = "^</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(\\s|[/]?[>]|$)".to_re
re5_opening.ignore_case = true
blocks.add([re5_opening, null])
var p_tagname = "[A-Za-z][A-Za-z0-9-]*"
var p_attribute_name = "[a-zA-Z_:][a-zA-Z0-9:._-]*"
var p_uquoted_value = "[^\"'=<>`\\x00-\\x20]+"
var p_squoted_value = "'[^']*'"
var p_dquoted_value = "\"[^\"]*\""
var p_attribute_value = "({p_uquoted_value}|{p_squoted_value}|{p_dquoted_value})"
var p_attribute_value_spec = "(\\s*=\\s*{p_attribute_value})"
var p_attribute = "(\\s{p_attribute_name}{p_attribute_value_spec}?)"
var p_opentag = "<{p_tagname}{p_attribute}*\\s*/?>"
var p_closetag = "</{p_tagname}\\s*[>]"
var re6_opening = "^({p_opentag}|{p_closetag})\\s*$".to_re
re6_opening.ignore_case = true
blocks.add([re6_opening, null])
return blocks
end
lib/markdown2/markdown_block_parsing.nit:1420,2--1469,4