]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
update for rename of recentchanges.mdwn to json.tl.ph.mdwn
[git.ikiwiki.info.git] / doc / todo / Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
index 3dc4215ad5a7ea82b78b2570a062aba59f94f0bd..daf5d9e99f150e758cfb51ca49f08b14d00041f6 100644 (file)
@@ -1,12 +1,12 @@
-    diff --git IkiWiki/Plugin/link.pm IkiWiki/Plugin/link.pm
-    index 1ba28eafd..27427b183 100644
-    --- IkiWiki/Plugin/link.pm
-    +++ IkiWiki/Plugin/link.pm
+    diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm
+    index 1ba28eafd..61a397bf8 100644
+    --- a/IkiWiki/Plugin/link.pm
+    +++ b/IkiWiki/Plugin/link.pm
     @@ -107,7 +107,13 @@ sub linkify (@) {
         my $page=$params{page};
         my $destpage=$params{destpage};
      
-    -   $params{content} =~ s{(\\?)$link_regexp}{
+    -  $params{content} =~ s{(\\?)$link_regexp}{
     +    my $content;
     +    for my $line ( split /\n/, $params{content} ) {
     +        if ( $line =~ /^(?:\t|    )/ ) {
     @@ -122,8 +128,10 @@ sub linkify (@) {
                              : htmllink($page, $destpage, linkpage($3),
                                  anchor => $4))
-             }eg;
+                 }eg;
     +        $content .= $line . "\n";
     +    }
      
-    -   return $params{content};
-    +    return $content;
+    -  return $params{content};
+    +  return $content;
      }
      
      sub scan (@) {
 Related to [[bugs/wiki links still processed inside code blocks]] and [[forum/How_to_format___91____91__foobar__93____93___in_code_blocks__63__]].
 
 [[!tag patch]]
+
+> It looks as though this patch would break linkification in any syntactic construct that
+> uses indentation but isn't a code block, for instance a list:
+>
+>     * This is a list
+>         * So is this
+>             * And \[[this is a link|http://example.com]]
+>
+> rendered as:
+>
+> * This is a list
+>     * So is this
+>         * And [[this is a link|http://example.com]]
+>
+> It's also assuming that Markdown is the only language available (trying to use Markdown
+> rules), and even in Markdown it doesn't support Github-style fenced code blocks if enabled.
+>
+> This is not something that can be done correctly by just patching the link plugin.
+> I'm not sure whether it's something that can be done correctly at all, unfortunately.
+>
+> [[!tag reviewed]] --[[smcv]]