diff --git a/modules/markup/markdown/goldmark.go b/modules/markup/markdown/goldmark.go index 07e2e36e1da4..ad77177db439 100644 --- a/modules/markup/markdown/goldmark.go +++ b/modules/markup/markdown/goldmark.go @@ -98,7 +98,8 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa } prefix = strings.Replace(prefix, "/src/", "/media/", 1) - lnk := string(link) + lnk := strings.TrimLeft(string(link), "/") + lnk = giteautil.URLJoin(prefix, lnk) link = []byte(lnk) } diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go index 5b3ef21fb66b..0e340763aedd 100644 --- a/modules/markup/markdown/markdown_test.go +++ b/modules/markup/markdown/markdown_test.go @@ -93,6 +93,19 @@ func TestRender_Images(t *testing.T) { test( "[!["+title+"]("+url+")]("+href+")", `

`+title+`

`) + + url = "/../../.images/src/02/train.jpg" + test( + "!["+title+"]("+url+")", + `

`+title+`

`) + + test( + "[["+title+"|"+url+"]]", + `

`+title+`

`) + test( + "[!["+title+"]("+url+")]("+href+")", + `

`+title+`

`) + } func testAnswers(baseURLContent, baseURLImages string) []string {