]> git.plutz.net Git - cgilite/commitdiff
bugfix Wiki Links, bugfix regex syntax
authorPaul Hänsch <paul@plutz.net>
Fri, 30 Aug 2024 11:09:11 +0000 (13:09 +0200)
committerPaul Hänsch <paul@plutz.net>
Fri, 30 Aug 2024 11:09:11 +0000 (13:09 +0200)
markdown.awk

index fcd42cf79247ea7a63e7aa299aae3c0b8c67fce5..26fc11b350d12e3aa21a5ac3713183b0a3420847 100755 (executable)
@@ -155,8 +155,10 @@ function inline( line, LOCAL, len, text, code, href, guard ) {
   # Wiki style links
   } else if ( match( line, /^\[\[([^]|]+)(\|[^]]+)?\]\]/) ) {
     len = RLENGTH; href = text = substr(line, 1, len);
-    sub(/^\[\[([^]|]+)(\|([^]]+))?\]\]/, "\\1", href );
-    sub(/^\[\[([^]|]+)(\|([^]]+))?\]\]/, "\\3", text );
+    sub(/^\[\[/, "", href); sub(/(\|([^]]+))?\]\].*$/, "", href);
+    sub(/^\[\[([^]|]+)/, "", text); sub(/\]\].*$/, "", text); sub(/^\|/, "", text);
+    # sub(/^\[\[([^]|]+)(\|([^]]+))?\]\]/, "\\1", href );
+    # sub(/^\[\[([^]|]+)(\|([^]]+))?\]\]/, "\\3", text );
     if ( ! text ) text = href;
     return "<a href=\"" HTML(href) "\">" HTML(text) "</a>" inline( substr( line, len + 1) );
 
@@ -648,7 +650,7 @@ function _block( block, LOCAL, st, len, text, title, attrib, href, guard, code,
     text = substr(text, n + 1); sub(/^[ \t]*/, "", text);
     sub(/[ \t]*#*([ \t]*\{([a-zA-Z \t-]*)\})(\n.*)?$/, "", text);
     sub(/^(##?#?#?#?#?)[ \t]*(([^ \t\n]+|[ \t]+[^ \t\n#]|[ \t]+#+[ \t]*[^ \t\n#])+)[ \t]*#*[ \t]*\{/, "", attrib);
-    sub(/\})(\n.*)?$/, "", attrib);
+    sub(/\}(\n.*)?$/, "", attrib);
     gsub(/[^a-zA-Z0-9_-]+/, " ", attrib); gsub(/(^ | $)/, "", attrib);
 
     return headline( n, text, attrib ) _block( substr( block, len + 1) );