markup/goldmark: Add config options for the typographer extension

Note that the config per language part of this will be handled in #10602.

Updates #9772
This commit is contained in:
Bjørn Erik Pedersen
2023-04-12 10:15:02 +02:00
parent d01731d53c
commit 5596dc24a0
5 changed files with 139 additions and 12 deletions

View File

@@ -62,15 +62,32 @@ func Decode(cfg config.Provider) (conf Config, err error) {
func normalizeConfig(m map[string]any) {
v, err := maps.GetNestedParam("goldmark.parser", ".", m)
if err != nil {
return
if err == nil {
vm := maps.ToStringMap(v)
// Changed from a bool in 0.81.0
if vv, found := vm["attribute"]; found {
if vvb, ok := vv.(bool); ok {
vm["attribute"] = goldmark_config.ParserAttribute{
Title: vvb,
}
}
}
}
vm := maps.ToStringMap(v)
// Changed from a bool in 0.81.0
if vv, found := vm["attribute"]; found {
if vvb, ok := vv.(bool); ok {
vm["attribute"] = goldmark_config.ParserAttribute{
Title: vvb,
// Changed from a bool in 0.112.0.
v, err = maps.GetNestedParam("goldmark.extensions", ".", m)
if err == nil {
vm := maps.ToStringMap(v)
const typographerKey = "typographer"
if vv, found := vm[typographerKey]; found {
if vvb, ok := vv.(bool); ok {
if !vvb {
vm[typographerKey] = goldmark_config.Typographer{
Disable: true,
}
} else {
delete(vm, typographerKey)
}
}
}
}