Skip to content

Commit 1827f89

Browse files
Pranav Nachnekarzeripath
andauthored
fix: media links in org files not liked to media files (#12997)
* fix: media links in org files not liked to media files * fix: write directly to io.Writer r as suggested by code review Co-authored-by: zeripath <[email protected]> Co-authored-by: zeripath <[email protected]>
1 parent 1d2553a commit 1827f89

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

modules/markup/orgmode/orgmode.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"bytes"
99
"fmt"
1010
"html"
11+
"strings"
1112

1213
"code.gitea.io/gitea/modules/log"
1314
"code.gitea.io/gitea/modules/markup"
@@ -94,10 +95,23 @@ func (r *Renderer) WriteRegularLink(l org.RegularLink) {
9495
}
9596
switch l.Kind() {
9697
case "image":
97-
r.WriteString(fmt.Sprintf(`<img src="%s" alt="%s" title="%s" />`, link, description, description))
98+
imageSrc := getMediaURL(link)
99+
fmt.Fprintf(r, `<img src="%s" alt="%s" title="%s" />`, imageSrc, description, description)
98100
case "video":
99-
r.WriteString(fmt.Sprintf(`<video src="%s" title="%s">%s</video>`, link, description, description))
101+
videoSrc := getMediaURL(link)
102+
fmt.Fprintf(r, `<video src="%s" title="%s">%s</video>`, videoSrc, description, description)
100103
default:
101-
r.WriteString(fmt.Sprintf(`<a href="%s" title="%s">%s</a>`, link, description, description))
104+
fmt.Fprintf(r, `<a href="%s" title="%s">%s</a>`, link, description, description)
102105
}
103106
}
107+
108+
func getMediaURL(l []byte) string {
109+
srcURL := string(l)
110+
111+
// Check if link is valid
112+
if len(srcURL) > 0 && !markup.IsLink(l) {
113+
srcURL = strings.Replace(srcURL, "/src/", "/media/", 1)
114+
}
115+
116+
return srcURL
117+
}

0 commit comments

Comments
 (0)