@ -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 ( ` <img src="%s" alt="%s" title="%s" /> ` , link , description , description ) )
imageSrc := getMediaURL ( link )
fmt . Fprintf ( r , ` <img src="%s" alt="%s" title="%s" /> ` , imageSrc , description , description )
case "video" :
r . WriteString ( fmt . Sprintf ( ` <video src="%s" title="%s">%s</video> ` , link , description , description ) )
videoSrc := getMediaURL ( link )
fmt . Fprintf ( r , ` <video src="%s" title="%s">%s</video> ` , videoSrc , description , description )
default :
r . WriteString ( fmt . Sprintf ( ` <a href="%s" title="%s">%s</a> ` , link , description , description ) )
fmt . Fprintf ( r , ` <a href="%s" title="%s">%s</a> ` , 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
}