From 35fbfb19a173b01bc881f2bbc5d104136633a7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 3 Oct 2018 14:58:09 +0200 Subject: commands: Show server error info in browser The main item in this commit is showing of errors with a file context when running `hugo server`. This can be turned off: `hugo server --disableBrowserError` (can also be set in `config.toml`). But to get there, the error handling in Hugo needed a revision. There are some items left TODO for commits soon to follow, most notable errors in content and config files. Fixes #5284 Fixes #5290 See #5325 See #5324 --- tpl/fmt/fmt.go | 5 +++-- tpl/fmt/init.go | 2 +- tpl/fmt/init_test.go | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'tpl/fmt') diff --git a/tpl/fmt/fmt.go b/tpl/fmt/fmt.go index 0f4f906c2..09e4f5a40 100644 --- a/tpl/fmt/fmt.go +++ b/tpl/fmt/fmt.go @@ -16,12 +16,13 @@ package fmt import ( _fmt "fmt" + "github.com/gohugoio/hugo/deps" "github.com/gohugoio/hugo/helpers" ) // New returns a new instance of the fmt-namespaced template functions. -func New() *Namespace { - return &Namespace{helpers.NewDistinctErrorLogger()} +func New(d *deps.Deps) *Namespace { + return &Namespace{helpers.NewDistinctLogger(d.Log.ERROR)} } // Namespace provides template functions for the "fmt" namespace. diff --git a/tpl/fmt/init.go b/tpl/fmt/init.go index 76c68957a..117055801 100644 --- a/tpl/fmt/init.go +++ b/tpl/fmt/init.go @@ -22,7 +22,7 @@ const name = "fmt" func init() { f := func(d *deps.Deps) *internal.TemplateFuncsNamespace { - ctx := New() + ctx := New(d) ns := &internal.TemplateFuncsNamespace{ Name: name, diff --git a/tpl/fmt/init_test.go b/tpl/fmt/init_test.go index 01eb2fa69..b693ffa2b 100644 --- a/tpl/fmt/init_test.go +++ b/tpl/fmt/init_test.go @@ -16,6 +16,7 @@ package fmt import ( "testing" + "github.com/gohugoio/hugo/common/loggers" "github.com/gohugoio/hugo/deps" "github.com/gohugoio/hugo/tpl/internal" "github.com/stretchr/testify/require" @@ -26,7 +27,7 @@ func TestInit(t *testing.T) { var ns *internal.TemplateFuncsNamespace for _, nsf := range internal.TemplateFuncsNamespaceRegistry { - ns = nsf(&deps.Deps{}) + ns = nsf(&deps.Deps{Log: loggers.NewErrorLogger()}) if ns.Name == name { found = true break -- cgit v1.2.3