markup/goldmark: Change link and image render hook enablement to enums

Closes #13535
This commit is contained in:
Joe Mooring
2025-06-21 06:41:08 -07:00
committed by Bjørn Erik Pedersen
parent b8ba33ca95
commit 84b31721bf
9 changed files with 293 additions and 35 deletions

View File

@@ -15,9 +15,13 @@
package goldmark_config
const (
AutoIDTypeGitHub = "github"
AutoIDTypeGitHubAscii = "github-ascii"
AutoIDTypeBlackfriday = "blackfriday"
AutoIDTypeBlackfriday = "blackfriday"
AutoIDTypeGitHub = "github"
AutoIDTypeGitHubAscii = "github-ascii"
RenderHookUseEmbeddedAlways = "always"
RenderHookUseEmbeddedAuto = "auto"
RenderHookUseEmbeddedFallback = "fallback"
RenderHookUseEmbeddedNever = "never"
)
// Default holds the default Goldmark configuration.
@@ -87,6 +91,14 @@ var Default = Config{
Block: false,
},
},
RenderHooks: RenderHooks{
Image: ImageRenderHook{
UseEmbedded: RenderHookUseEmbeddedAuto,
},
Link: LinkRenderHook{
UseEmbedded: RenderHookUseEmbeddedAuto,
},
},
}
// Config configures Goldmark.
@@ -118,22 +130,24 @@ type RenderHooks struct {
type ImageRenderHook struct {
// Enable the default image render hook.
// We need to know if it is set or not, hence the pointer.
// Deprecated: Use UseEmbedded instead.
EnableDefault *bool
}
func (h ImageRenderHook) IsEnableDefault() bool {
return h.EnableDefault != nil && *h.EnableDefault
// When to use the embedded image render hook.
// One of auto, never, always, or fallback. Default is auto.
UseEmbedded string
}
// LinkRenderHook contains configuration for the link render hook.
type LinkRenderHook struct {
// Disable the default image render hook.
// We need to know if it is set or not, hence the pointer.
// Deprecated: Use UseEmbedded instead.
EnableDefault *bool
}
func (h LinkRenderHook) IsEnableDefault() bool {
return h.EnableDefault != nil && *h.EnableDefault
// When to use the embedded link render hook.
// One of auto, never, always, or fallback. Default is auto.
UseEmbedded string
}
type Extensions struct {