diff options
author | Michael Kuhn <suraia@ikkoku.de> | 2017-08-05 23:52:19 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2017-08-06 00:52:19 +0300 |
commit | d05150a3317766863586b3a5b2a6a09feab3dd8c (patch) | |
tree | a9288ba289ff40d6892c22a709c2125c2bfd7f89 | |
parent | a3262636b87477b22e37cdbd562f260b4c4a8c25 (diff) | |
download | gitea-d05150a3317766863586b3a5b2a6a09feab3dd8c.tar.gz gitea-d05150a3317766863586b3a5b2a6a09feab3dd8c.zip |
Make short link pattern greedy (#2259)
Multiple links on the same line are currently not recognized correctly.
-rw-r--r-- | modules/markdown/markdown.go | 2 | ||||
-rw-r--r-- | modules/markdown/markdown_test.go | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/modules/markdown/markdown.go b/modules/markdown/markdown.go index bebf454ff1..898df59292 100644 --- a/modules/markdown/markdown.go +++ b/modules/markdown/markdown.go @@ -64,7 +64,7 @@ var ( Sha1CurrentPattern = regexp.MustCompile(`(?:^|\s|\()([0-9a-f]{7,40})\b`) // ShortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax - ShortLinkPattern = regexp.MustCompile(`(\[\[.*\]\]\w*)`) + ShortLinkPattern = regexp.MustCompile(`(\[\[.*?\]\]\w*)`) // AnySHA1Pattern allows to split url containing SHA into parts AnySHA1Pattern = regexp.MustCompile(`(http\S*)://(\S+)/(\S+)/(\S+)/(\S+)/([0-9a-f]{40})(?:/?([^#\s]+)?(?:#(\S+))?)?`) diff --git a/modules/markdown/markdown_test.go b/modules/markdown/markdown_test.go index 2943ffde95..cfe9c5421a 100644 --- a/modules/markdown/markdown_test.go +++ b/modules/markdown/markdown_test.go @@ -260,8 +260,10 @@ func TestRender_ShortLinks(t *testing.T) { rawtree := URLJoin(AppSubURL, "raw", "master") url := URLJoin(tree, "Link") + otherUrl := URLJoin(tree, "OtherLink") imgurl := URLJoin(rawtree, "Link.jpg") urlWiki := URLJoin(AppSubURL, "wiki", "Link") + otherUrlWiki := URLJoin(AppSubURL, "wiki", "OtherLink") imgurlWiki := URLJoin(AppSubURL, "wiki", "raw", "Link.jpg") favicon := "http://google.com/favicon.ico" @@ -301,6 +303,10 @@ func TestRender_ShortLinks(t *testing.T) { "[[Name|Link.jpg|alt=\"AltName\"|title='Title']]", `<p><a href="`+imgurl+`" rel="nofollow"><img src="`+imgurl+`" alt="AltName" title="Title"/></a></p>`, `<p><a href="`+imgurlWiki+`" rel="nofollow"><img src="`+imgurlWiki+`" alt="AltName" title="Title"/></a></p>`) + test( + "[[Link]] [[OtherLink]]", + `<p><a href="`+url+`" rel="nofollow">Link</a> <a href="`+otherUrl+`" rel="nofollow">OtherLink</a></p>`, + `<p><a href="`+urlWiki+`" rel="nofollow">Link</a> <a href="`+otherUrlWiki+`" rel="nofollow">OtherLink</a></p>`) } func TestRender_Commits(t *testing.T) { |