diff --git a/modules/markup/orgmode/orgmode.go b/modules/markup/orgmode/orgmode.go
index f7a051476b..a9e0f4aea4 100644
--- a/modules/markup/orgmode/orgmode.go
+++ b/modules/markup/orgmode/orgmode.go
@@ -135,7 +135,12 @@ type Writer struct {
const mailto = "mailto:"
-func (r *Writer) resolveLink(l org.RegularLink) string {
+func (r *Writer) resolveLink(node org.Node) string {
+ l, ok := node.(org.RegularLink)
+ if !ok {
+ l = org.RegularLink{URL: strings.TrimPrefix(org.String(node), "file:")}
+ }
+
link := html.EscapeString(l.URL)
if l.Protocol == "file" {
link = link[len("file:"):]
@@ -162,14 +167,14 @@ func (r *Writer) WriteRegularLink(l org.RegularLink) {
if l.Description == nil {
fmt.Fprintf(r, ``, link, link)
} else {
- imageSrc := r.resolveLink(l.Description[0].(org.RegularLink))
+ imageSrc := r.resolveLink(l.Description[0])
fmt.Fprintf(r, `
`, link, imageSrc, imageSrc)
}
case "video":
if l.Description == nil {
fmt.Fprintf(r, ``, link, link)
} else {
- videoSrc := r.resolveLink(l.Description[0].(org.RegularLink))
+ videoSrc := r.resolveLink(l.Description[0])
fmt.Fprintf(r, ``, link, videoSrc, videoSrc)
}
default:
diff --git a/modules/markup/orgmode/orgmode_test.go b/modules/markup/orgmode/orgmode_test.go
index cb9b24f6d0..1f9ec0bac5 100644
--- a/modules/markup/orgmode/orgmode_test.go
+++ b/modules/markup/orgmode/orgmode_test.go
@@ -76,6 +76,12 @@ func TestRender_Media(t *testing.T) {
`