]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1061226: markdown isn't linkifying urls
authorAlbert Ting <altlist@gmail.com>
Thu, 2 Apr 2015 14:26:35 +0000 (15:26 +0100)
committerDavid Lawrence <dkl@mozilla.com>
Thu, 2 Apr 2015 14:26:35 +0000 (15:26 +0100)
r=dkl,a=glob

Bugzilla/Markdown.pm

index 7b5d475f82d38003ca650f7cdbd362ba84625deb..bbb5b0f270171b37c346578ddd9d8d72d42aff0b 100644 (file)
@@ -237,7 +237,7 @@ sub _DoAnchors {
     }xsge;
 
     #
-    # Last, handle reference-style shortcuts: [link text]
+    # Handle reference-style shortcuts: [link text]
     # These must come last in case you've also got [link test][1]
     # or [link test](/foo)
     #
@@ -256,6 +256,22 @@ sub _DoAnchors {
         $self->_GenerateAnchor($whole_match, $link_text, $link_id);
     }xsge;
 
+    # Last, handle "naked" references
+    # Caveat, does not handle ;http://amazon.com
+    my $safe_url_regexp = Bugzilla::Template::SAFE_URL_REGEXP();
+    $text =~ s{
+        (
+          (^|(?<![;^"'<>]))  # negative lookbehind, including ';' in '&lt;'
+          (                  # wrap url in $3
+             (?:https?|ftp):[^'">\s]+\w
+          )
+        )
+    }{
+        my $whole_match = $3;
+        my $url = $whole_match;
+        $self->_GenerateAnchor($whole_match, $url, undef, $url, undef);
+    }xsge;
+
     return $text;
 }