From f2946da9e806c2bafbdd26707fe339db79bd980b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 2 May 2022 16:07:52 +0200 Subject: 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 --- hugolib/content_factory.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'hugolib/content_factory.go') diff --git a/hugolib/content_factory.go b/hugolib/content_factory.go index bea98894d..e6e82979f 100644 --- a/hugolib/content_factory.go +++ b/hugolib/content_factory.go @@ -14,6 +14,7 @@ package hugolib import ( + "fmt" "io" "path/filepath" "strings" @@ -25,7 +26,6 @@ import ( "github.com/gohugoio/hugo/resources/page" - "github.com/pkg/errors" "github.com/spf13/afero" ) @@ -48,12 +48,12 @@ func (f ContentFactory) ApplyArchetypeFilename(w io.Writer, p page.Page, archety } if fi.IsDir() { - return errors.Errorf("archetype directory (%q) not supported", archetypeFilename) + return fmt.Errorf("archetype directory (%q) not supported", archetypeFilename) } templateSource, err := afero.ReadFile(f.h.SourceFilesystems.Archetypes.Fs, archetypeFilename) if err != nil { - return errors.Wrapf(err, "failed to read archetype file %q: %s", archetypeFilename, err) + return fmt.Errorf("failed to read archetype file %q: %s: %w", archetypeFilename, err, err) } @@ -79,12 +79,12 @@ func (f ContentFactory) ApplyArchetypeTemplate(w io.Writer, p page.Page, archety templ, err := ps.s.TextTmpl().Parse("archetype.md", string(templateSource)) if err != nil { - return errors.Wrapf(err, "failed to parse archetype template: %s", err) + return fmt.Errorf("failed to parse archetype template: %s: %w", err, err) } result, err := executeToString(ps.s.Tmpl(), templ, d) if err != nil { - return errors.Wrapf(err, "failed to execute archetype template: %s", err) + return fmt.Errorf("failed to execute archetype template: %s: %w", err, err) } _, err = io.WriteString(w, f.shortcodeReplacerPost.Replace(result)) -- cgit v1.2.3