aboutsummaryrefslogtreecommitdiff
path: root/modules/markdown/markdown.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-03-05 16:54:00 -0500
committerUnknwon <u@gogs.io>2017-03-05 16:54:00 -0500
commit8b73c8076ffe828af87649a2a5ccb79bbb5484ce (patch)
tree5b528ef23d8569a9e9bbefa62b41cbac5e31a75d /modules/markdown/markdown.go
parent971a96a962a5911123f7a3fd8954036a7d2a0899 (diff)
modules/markdown: fix wrong raw link to internal images
Diffstat (limited to 'modules/markdown/markdown.go')
-rw-r--r--modules/markdown/markdown.go19
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)