X-Git-Url: https://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=markdown.awk;fp=markdown.awk;h=7ec1280d34784d35377afd860d88b81f47df4906;hp=6143b73dea4ccd07e4262867480152d4ad85b028;hb=31cfd890119d30e03201d29c307203ccd304e1c0;hpb=880ed14c6887464c1200f146a871e8cfae896638 diff --git a/markdown.awk b/markdown.awk index 6143b73..7ec1280 100755 --- a/markdown.awk +++ b/markdown.awk @@ -154,6 +154,11 @@ function inline( line, LOCAL, len, text, code, href, guard ) { return "" code "" inline( substr( line, len + 1 ) ) } + # Macros + } else if ( match( line, /^<<([^>]|>[^>])+>>/ ) ) { + len = RLENGTH; + return "" HTML( substr( line, 3, len - 4 ) ) "" inline(substr(line, len + 1)); + # Wiki style links } else if ( match( line, /^\[\[([^]|]+)(\|[^]]+)?\]\]/) ) { len = RLENGTH; @@ -174,6 +179,11 @@ function inline( line, LOCAL, len, text, code, href, guard ) { href = URL( substr( line, 2, len - 2) ); return "" href "" inline( substr( line, len + 1) ); + # Verbatim inline HTML + } else if ( AllowHTML && match( line, /^(|<\?([^\?]|\?[^>])*\?>|]*>|])*\]\]>|<\/[A-Za-z][A-Za-z0-9-]*[[:space:]]*>|<[A-Za-z][A-Za-z0-9-]*([[:space:]]+[A-Za-z_:][A-Za-z0-9_\.:-]*([[:space:]]*=[[:space:]]*([[:space:]"'=<>`]+|"[^"]*"|'[^']*'))?)*[[:space:]]*\/?>)/) ) { + len = RLENGTH; + return substr( line, 1, len) inline(substr(line, len + 1)); + # inline links # ,_______________________Image____________________________, } else if ( match(line, /^\[([^]]+|!\[[^]]*\]\([^"\)]+([ \t]+"[^"]+")?\)(\{[a-zA-Z \t-]*\})?)\]\(([^"\)]+)([[:space:]]+"([^"]+)")?\)/) ) { @@ -290,16 +300,6 @@ function inline( line, LOCAL, len, text, code, href, guard ) { len = RLENGTH; return "" inline( substr( line, 2, len - 2 ) ) "" inline( substr( line, len + 1 ) ); - # Macros - } else if ( match( line, /^<<([^>]|>[^>])+>>/ ) ) { - len = RLENGTH; - return "" HTML( substr( line, 3, len - 4 ) ) "" inline(substr(line, len + 1)); - - # Verbatim inline HTML - } else if ( AllowHTML && match( line, /^(|<\?([^\?]|\?[^>])*\?>|]*>|])*\]\]>|<\/[A-Za-z][A-Za-z0-9-]*[[:space:]]*>|<[A-Za-z][A-Za-z0-9-]*([[:space:]]+[A-Za-z_:][A-Za-z0-9_\.:-]*([[:space:]]*=[[:space:]]*([[:space:]"'=<>`]+|"[^"]*"|'[^']*'))?)*[[:space:]]*\/?>)/) ) { - len = RLENGTH; - return substr( line, 1, len) inline(substr(line, len + 1)); - # Literal HTML entities } else if ( match( line, /^&([a-zA-Z]{2,32}|#[0-9]{1,7}|#[xX][0-9a-fA-F]{1,6});/) ) { len = RLENGTH;