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