diff options
author | Albert Ting <altlist@gmail.com> | 2015-04-02 16:26:35 +0200 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2015-04-02 16:26:35 +0200 |
commit | 1fa1aa54ae725989c6c44f198376e37ba000ca02 (patch) | |
tree | 71371e9407f180a13f0bace2c46ef9175b527301 /Bugzilla/Markdown.pm | |
parent | 1fbcede24288ad8abdeaf49255e5c0996ac2df4c (diff) | |
download | bugzilla-1fa1aa54ae725989c6c44f198376e37ba000ca02.tar.gz bugzilla-1fa1aa54ae725989c6c44f198376e37ba000ca02.tar.xz |
Bug 1061226: markdown isn't linkifying urls
r=dkl,a=glob
Diffstat (limited to 'Bugzilla/Markdown.pm')
-rw-r--r-- | Bugzilla/Markdown.pm | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Bugzilla/Markdown.pm b/Bugzilla/Markdown.pm index 7b5d475f8..bbb5b0f27 100644 --- a/Bugzilla/Markdown.pm +++ b/Bugzilla/Markdown.pm @@ -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 '<' + ( # 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; } |