aboutsummaryrefslogtreecommitdiff
path: root/markdown/ast_external.go
diff options
context:
space:
mode:
authorWilliam Hergès <william@herges.fr>2025-10-03 22:22:40 +0200
committerWilliam Hergès <william@herges.fr>2025-10-03 22:22:40 +0200
commit40b1f53362105a495c6a486f3488e83d79eb582a (patch)
treeb84609a49ad55881d0e54f72a474d3bbb1db31ae /markdown/ast_external.go
parentce6a2da035dc045510157a0eeefaebf56f0e8958 (diff)
feat(markdown): eval option to setup custom image source func
Diffstat (limited to 'markdown/ast_external.go')
-rw-r--r--markdown/ast_external.go15
1 files changed, 8 insertions, 7 deletions
diff --git a/markdown/ast_external.go b/markdown/ast_external.go
index ea78450..f37a685 100644
--- a/markdown/ast_external.go
+++ b/markdown/ast_external.go
@@ -10,12 +10,12 @@ type astLink struct {
href block
}
-func (a *astLink) Eval() (template.HTML, *ParseError) {
- content, err := a.content.Eval()
+func (a *astLink) Eval(opt *Option) (template.HTML, *ParseError) {
+ content, err := a.content.Eval(opt)
if err != nil {
return "", err
}
- href, err := a.href.Eval()
+ href, err := a.href.Eval(opt)
if err != nil {
return "", err
}
@@ -28,21 +28,22 @@ type astImage struct {
source []*astParagraph
}
-func (a *astImage) Eval() (template.HTML, *ParseError) {
- alt, err := a.alt.Eval()
+func (a *astImage) Eval(opt *Option) (template.HTML, *ParseError) {
+ alt, err := a.alt.Eval(opt)
if err != nil {
return "", err
}
- src, err := a.src.Eval()
+ src, err := a.src.Eval(opt)
if err != nil {
return "", err
}
+ src = template.HTML(opt.ImageSource(string(src)))
if a.source == nil {
return template.HTML(fmt.Sprintf(`<figure><img alt="%s" src="%s"></figure>`, alt, src)), nil
}
var s template.HTML
for _, c := range a.source {
- ct, err := c.Eval()
+ ct, err := c.Eval(opt)
if err != nil {
return "", err
}