diff --git a/modules/markup/orgmode/orgmode.go b/modules/markup/orgmode/orgmode.go index 86222cc88..ddd445aba 100644 --- a/modules/markup/orgmode/orgmode.go +++ b/modules/markup/orgmode/orgmode.go @@ -8,6 +8,7 @@ import ( "bytes" "fmt" "html" + "strings" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup" @@ -94,10 +95,23 @@ func (r *Renderer) WriteRegularLink(l org.RegularLink) { } switch l.Kind() { case "image": - r.WriteString(fmt.Sprintf(`%s`, link, description, description)) + imageSrc := getMediaURL(link) + fmt.Fprintf(r, `%s`, imageSrc, description, description) case "video": - r.WriteString(fmt.Sprintf(``, link, description, description)) + videoSrc := getMediaURL(link) + fmt.Fprintf(r, ``, videoSrc, description, description) default: - r.WriteString(fmt.Sprintf(`%s`, link, description, description)) + fmt.Fprintf(r, `%s`, link, description, description) } } + +func getMediaURL(l []byte) string { + srcURL := string(l) + + // Check if link is valid + if len(srcURL) > 0 && !markup.IsLink(l) { + srcURL = strings.Replace(srcURL, "/src/", "/media/", 1) + } + + return srcURL +}