diff options
author | Unknwon <u@gogs.io> | 2017-03-05 16:54:00 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-03-05 16:54:00 -0500 |
commit | 8b73c8076ffe828af87649a2a5ccb79bbb5484ce (patch) | |
tree | 5b528ef23d8569a9e9bbefa62b41cbac5e31a75d /modules/markdown/markdown.go | |
parent | 971a96a962a5911123f7a3fd8954036a7d2a0899 (diff) |
modules/markdown: fix wrong raw link to internal images
Diffstat (limited to 'modules/markdown/markdown.go')
-rw-r--r-- | modules/markdown/markdown.go | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/modules/markdown/markdown.go b/modules/markdown/markdown.go index befcedc2..dfc8272a 100644 --- a/modules/markdown/markdown.go +++ b/modules/markdown/markdown.go @@ -343,16 +343,25 @@ func wrapImgWithLink(urlPrefix string, buf *bytes.Buffer, token html.Token) { return } - buf.WriteString(`<a href="`) - buf.WriteString(src) - buf.WriteString(`">`) - // Prepend repository base URL for internal links - if !isLink([]byte(src)) { + needPrepend := !isLink([]byte(src)) + if needPrepend { urlPrefix = strings.Replace(urlPrefix, "/src/", "/raw/", 1) if src[0] != '/' { urlPrefix += "/" } + } + + buf.WriteString(`<a href="`) + if needPrepend { + buf.WriteString(urlPrefix) + buf.WriteString(src) + } else { + buf.WriteString(src) + } + buf.WriteString(`">`) + + if needPrepend { src = strings.Replace(urlPrefix+string(src), " ", "%20", -1) buf.WriteString(`<img src="`) buf.WriteString(src) |