X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=markdown.awk;h=6143b73dea4ccd07e4262867480152d4ad85b028;hb=880ed14c6887464c1200f146a871e8cfae896638;hp=3b5a9bb063ce8e18c7a7bc41abfa8569f08bad15;hpb=4ee910d547ff383c57c513436a6ed2576f66bf0d;p=cgilite diff --git a/markdown.awk b/markdown.awk index 3b5a9bb..6143b73 100755 --- a/markdown.awk +++ b/markdown.awk @@ -291,9 +291,9 @@ function inline( line, LOCAL, len, text, code, href, guard ) { return "" inline( substr( line, 2, len - 2 ) ) "" inline( substr( line, len + 1 ) ); # Macros - } else if ( AllowMacros && match( line, /^<<([^>]|>[^>])+>>/) ) { + } else if ( match( line, /^<<([^>]|>[^>])+>>/ ) ) { len = RLENGTH; - return macro( substr( line, 3, len - 4 ) ) inline(substr(line, len + 1)); + 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:]]*\/?>)/) ) { @@ -402,7 +402,7 @@ function _block( block, LOCAL, st, len, text, title, attrib, href, guard, code, # Pipe Tables (pandoc / php md / gfm ) } else if ( match(block, "^((\\|)?([^\n]+\\|)+[^\n]+(\\|)?)\n" \ - "((\\|)?:?(-+:?[\\|+])+:?-+:?(\\|)?)\n" \ + "((\\|)?(:?-+:?[\\|+])+:?-+:?(\\|)?)\n" \ "((\\|)?([^\n]+\\|)+[^\n]+(\\|)?(\n|$))+" ) ) { len = RLENGTH; st = RSTART; #initialize empty arrays @@ -688,10 +688,10 @@ function _block( block, LOCAL, st, len, text, title, attrib, href, guard, code, } # Macros (standalone <> calls handled as block, so they are not wrapped in paragraph) - } else if ( AllowMacros && match( block, /^<<(([^>]|>[^>])+)>>(\n|$)/) ) { + } else if ( match( block, /^<<(([^>]|>[^>])+)>>(\n|$)/ ) ) { len = RLENGTH; text = gensub(/^<<(([^>]|>[^>])+)>>(\n.*)?$/, "\\1", 1, block); - return macro(text) _block(substr(block, len + 1) ); + return "" HTML(text) "" _block(substr(block, len + 1) ); # Definition list } else if (match( block, "^(([ \t]*\n)*[^:\n \t][^\n]+\n" \ @@ -705,21 +705,23 @@ function _block( block, LOCAL, st, len, text, title, attrib, href, guard, code, return "\n
\n" _dlist( list ) "
\n" _block( block ); # Unordered list types - } else if ( text = _startlist( block, "ul", "-", "([+*]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { + } else if ( text = _startlist( block, "ul", "-", "([+*•]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { return text; - } else if ( text = _startlist( block, "ul", "\\+", "([-*]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { + } else if ( text = _startlist( block, "ul", "\\+", "([-*•]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { return text; - } else if ( text = _startlist( block, "ul", "\\*", "([-+]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { + } else if ( text = _startlist( block, "ul", "\\*", "([-+•]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { + return text; + } else if ( text = _startlist( block, "ul", "•", "([-+*]|[0-9]+\\.|#\\.|[0-9]+\\)|#\\))") ) { return text; # Ordered list types - } else if ( text = _startlist( block, "ol", "[0-9]+\\.", "([-+*]|#\\.|[0-9]+\\)|#\\))") ) { + } else if ( text = _startlist( block, "ol", "[0-9]+\\.", "([-+*•]|#\\.|[0-9]+\\)|#\\))") ) { return text; - } else if ( text = _startlist( block, "ol", "[0-9]+\\)", "([-+*]|[0-9]+\\.|#\\.|#\\))") ) { + } else if ( text = _startlist( block, "ol", "[0-9]+\\)", "([-+*•]|[0-9]+\\.|#\\.|#\\))") ) { return text; - } else if ( text = _startlist( block, "ol", "#\\.", "([-+*]|[0-9]+\\.|[0-9]+\\)|#\\))") ) { + } else if ( text = _startlist( block, "ol", "#\\.", "([-+*•]|[0-9]+\\.|[0-9]+\\)|#\\))") ) { return text; - } else if ( text = _startlist( block, "ol", "#\\)", "([-+*]|[0-9]+\\.|#\\.|[0-9]+\\))") ) { + } else if ( text = _startlist( block, "ol", "#\\)", "([-+*•]|[0-9]+\\.|#\\.|[0-9]+\\))") ) { return text; # Split paragraphs