diff options
author | Bjørn Erik Pedersen <[email protected]> | 2022-05-02 16:07:52 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2022-05-06 19:43:22 +0200 |
commit | f2946da9e806c2bafbdd26707fe339db79bd980b (patch) | |
tree | b5609317a861ea5f399e094e1b9287ca71dc22d1 /tpl/tplimpl/template_ast_transformers.go | |
parent | 6eea32bd6bc8e7a7dd07a8cb6a8343ae2c74aba0 (diff) | |
download | hugo-f2946da9e806c2bafbdd26707fe339db79bd980b.tar.gz hugo-f2946da9e806c2bafbdd26707fe339db79bd980b.zip |
Improve error messages, esp. when the server is running
* Add file context to minifier errors when publishing
* Misc fixes (see issues)
* Allow custom server error template in layouts/server/error.html
To get to this, this commit also cleans up and simplifies the code surrounding errors and files. This also removes the usage of `github.com/pkg/errors`, mostly because of https://github.com/pkg/errors/issues/223 -- but also because most of this is now built-in to Go.
Fixes #9852
Fixes #9857
Fixes #9863
Diffstat (limited to 'tpl/tplimpl/template_ast_transformers.go')
-rw-r--r-- | tpl/tplimpl/template_ast_transformers.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tpl/tplimpl/template_ast_transformers.go b/tpl/tplimpl/template_ast_transformers.go index 33461dc7d..dee1fd6c2 100644 --- a/tpl/tplimpl/template_ast_transformers.go +++ b/tpl/tplimpl/template_ast_transformers.go @@ -14,6 +14,7 @@ package tplimpl import ( + "fmt" "regexp" "strings" @@ -22,10 +23,11 @@ import ( "github.com/gohugoio/hugo/tpl/internal/go_templates/texttemplate/parse" + "errors" + "github.com/gohugoio/hugo/common/maps" "github.com/gohugoio/hugo/tpl" "github.com/mitchellh/mapstructure" - "github.com/pkg/errors" ) type templateType int @@ -239,14 +241,14 @@ func (c *templateContext) collectConfig(n *parse.PipeNode) { } if s, ok := cmd.Args[0].(*parse.StringNode); ok { - errMsg := "failed to decode $_hugo_config in template" + errMsg := "failed to decode $_hugo_config in template: %w" m, err := maps.ToStringMapE(s.Text) if err != nil { - c.err = errors.Wrap(err, errMsg) + c.err = fmt.Errorf(errMsg, err) return } if err := mapstructure.WeakDecode(m, &c.t.parseInfo.Config); err != nil { - c.err = errors.Wrap(err, errMsg) + c.err = fmt.Errorf(errMsg, err) } } } |