@@ -135,41 +135,35 @@ type Writer struct {
135
135
136
136
const mailto = "mailto:"
137
137
138
- func (r * Writer ) resolveLink (l org.RegularLink ) string {
139
- link := html .EscapeString (l .URL )
140
- if l .Protocol == "file" {
138
+ func (r * Writer ) resolveLink (link string ) string {
139
+ if strings .HasPrefix (link , "file:" ) {
141
140
link = link [len ("file:" ):]
142
141
}
143
142
if len (link ) > 0 && ! markup .IsLinkStr (link ) &&
144
143
link [0 ] != '#' && ! strings .HasPrefix (link , mailto ) {
145
- base := r .Ctx .Links .Base
146
- switch l .Kind () {
147
- case "image" , "video" :
148
- base = r .Ctx .Links .ResolveMediaLink (r .Ctx .IsWiki )
149
- }
150
- link = util .URLJoin (base , link )
144
+ link = util .URLJoin (r .Ctx .Links .ResolveMediaLink (r .Ctx .IsWiki ), link )
151
145
}
152
146
return link
153
147
}
154
148
155
149
// WriteRegularLink renders images, links or videos
156
150
func (r * Writer ) WriteRegularLink (l org.RegularLink ) {
157
- link := r .resolveLink (l )
151
+ link := r .resolveLink (l . URL )
158
152
159
153
// Inspired by https://github.com/niklasfasching/go-org/blob/6eb20dbda93cb88c3503f7508dc78cbbc639378f/org/html_writer.go#L406-L427
160
154
switch l .Kind () {
161
155
case "image" :
162
156
if l .Description == nil {
163
157
fmt .Fprintf (r , `<img src="%s" alt="%s" />` , link , link )
164
158
} else {
165
- imageSrc := r .resolveLink (l .Description [ 0 ].(org. RegularLink ))
159
+ imageSrc := r .resolveLink (org . String ( l .Description ... ))
166
160
fmt .Fprintf (r , `<a href="%s"><img src="%s" alt="%s" /></a>` , link , imageSrc , imageSrc )
167
161
}
168
162
case "video" :
169
163
if l .Description == nil {
170
164
fmt .Fprintf (r , `<video src="%s">%s</video>` , link , link )
171
165
} else {
172
- videoSrc := r .resolveLink (l .Description [ 0 ].(org. RegularLink ))
166
+ videoSrc := r .resolveLink (org . String ( l .Description ... ))
173
167
fmt .Fprintf (r , `<a href="%s"><video src="%s">%s</video></a>` , link , videoSrc , videoSrc )
174
168
}
175
169
default :
0 commit comments