Diffstat (limited to 'internal/glightbox/extension.go')
| -rw-r--r-- | internal/glightbox/extension.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/glightbox/extension.go b/internal/glightbox/extension.go new file mode 100644 index 0000000..e9a9f3e --- /dev/null +++ b/internal/glightbox/extension.go @@ -0,0 +1,31 @@ +package glightbox + +import ( + "github.com/SayaAndy/saya-today-web/config" + "github.com/yuin/goldmark" + "github.com/yuin/goldmark/parser" + "github.com/yuin/goldmark/renderer" + "github.com/yuin/goldmark/util" +) + +// Extension that combines parser and renderer +type GLightboxExtension struct { + photoStorage config.PhotoStorageConfig +} + +func NewGLightboxExtension(photoStorage config.PhotoStorageConfig) goldmark.Extender { + return &GLightboxExtension{photoStorage} +} + +func (e *GLightboxExtension) Extend(m goldmark.Markdown) { + m.Parser().AddOptions( + parser.WithBlockParsers( + util.Prioritized(NewGLightboxParser(), 500), + ), + ) + m.Renderer().AddOptions( + renderer.WithNodeRenderers( + util.Prioritized(NewGLightboxHTMLRenderer(e.photoStorage), 500), + ), + ) +} |