github.com/charmbracelet/glamour@v0.7.0/ansi/image.go (about) 1 package ansi 2 3 import ( 4 "io" 5 ) 6 7 // An ImageElement is used to render images elements. 8 type ImageElement struct { 9 Text string 10 BaseURL string 11 URL string 12 Child ElementRenderer 13 } 14 15 func (e *ImageElement) Render(w io.Writer, ctx RenderContext) error { 16 if len(e.Text) > 0 { 17 el := &BaseElement{ 18 Token: e.Text, 19 Style: ctx.options.Styles.ImageText, 20 } 21 err := el.Render(w, ctx) 22 if err != nil { 23 return err 24 } 25 } 26 if len(e.URL) > 0 { 27 el := &BaseElement{ 28 Token: resolveRelativeURL(e.BaseURL, e.URL), 29 Prefix: " ", 30 Style: ctx.options.Styles.Image, 31 } 32 err := el.Render(w, ctx) 33 if err != nil { 34 return err 35 } 36 } 37 38 return nil 39 }