mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-21 21:35:28 +02:00
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
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user