From 311b8008bfba3411741ef8ebe4b094adb92ce041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sat, 4 Jun 2022 17:39:34 +0200 Subject: helpers: Fix panic with invalid defaultMarkdownHandler Fixes #9968 --- markup/markup.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'markup/markup.go') diff --git a/markup/markup.go b/markup/markup.go index f5e46ad90..1345867f9 100644 --- a/markup/markup.go +++ b/markup/markup.go @@ -14,6 +14,7 @@ package markup import ( + "fmt" "strings" "github.com/gohugoio/hugo/markup/highlight" @@ -43,6 +44,8 @@ func NewConverterProvider(cfg converter.ProviderConfig) (ConverterProvider, erro } cfg.MarkupConfig = markupConfig + defaultHandler := cfg.MarkupConfig.DefaultMarkdownHandler + var defaultFound bool add := func(p converter.ProviderProvider, aliases ...string) error { c, err := p.New(cfg) @@ -54,8 +57,9 @@ func NewConverterProvider(cfg converter.ProviderConfig) (ConverterProvider, erro aliases = append(aliases, name) - if strings.EqualFold(name, cfg.MarkupConfig.DefaultMarkdownHandler) { + if strings.EqualFold(name, defaultHandler) { aliases = append(aliases, "markdown") + defaultFound = true } addConverter(converters, c, aliases...) @@ -78,6 +82,14 @@ func NewConverterProvider(cfg converter.ProviderConfig) (ConverterProvider, erro return nil, err } + if !defaultFound { + msg := "markup: Configured defaultMarkdownHandler %q not found." + if defaultHandler == "blackfriday" { + msg += " Did you mean to use goldmark? Blackfriday was removed in Hugo v0.100.0." + } + return nil, fmt.Errorf(msg, defaultHandler) + } + return &converterRegistry{ config: cfg, converters: converters, -- cgit v1.2.3