mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-29 22:29:56 +02:00
Add warnidf template function
Also rename config `ignoreErrors` => `ignoreLogs` But the old still works. Closes #9189
This commit is contained in:
@@ -68,9 +68,7 @@ func (ns *Namespace) Errorf(format string, args ...any) string {
|
||||
// an information text that the error with the given id can be suppressed in config.
|
||||
// It returns an empty string.
|
||||
func (ns *Namespace) Erroridf(id, format string, args ...any) string {
|
||||
format += "\nYou can suppress this error by adding the following to your site configuration:\nignoreErrors = ['%s']"
|
||||
args = append(args, id)
|
||||
ns.logger.Errorsf(id, format, args...)
|
||||
ns.logger.Erroridf(id, format, args...)
|
||||
return ""
|
||||
}
|
||||
|
||||
@@ -81,6 +79,14 @@ func (ns *Namespace) Warnf(format string, args ...any) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// Warnidf formats args according to a format specifier and logs an WARNING and
|
||||
// an information text that the warning with the given id can be suppressed in config.
|
||||
// It returns an empty string.
|
||||
func (ns *Namespace) Warnidf(id, format string, args ...any) string {
|
||||
ns.logger.Warnidf(id, format, args...)
|
||||
return ""
|
||||
}
|
||||
|
||||
// Warnmf is epxermimental and subject to change at any time.
|
||||
func (ns *Namespace) Warnmf(m any, format string, args ...any) string {
|
||||
return ns.logmf(ns.logger.Warn(), m, format, args...)
|
||||
|
@@ -16,6 +16,7 @@ package fmt_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
qt "github.com/frankban/quicktest"
|
||||
"github.com/gohugoio/hugo/hugolib"
|
||||
)
|
||||
|
||||
@@ -32,13 +33,25 @@ ignoreErrors = ['error-b']
|
||||
{{ erroridf "error-b" "%s" "b"}}
|
||||
`
|
||||
|
||||
b := hugolib.NewIntegrationTestBuilder(
|
||||
hugolib.IntegrationTestConfig{
|
||||
T: t,
|
||||
TxtarString: files,
|
||||
},
|
||||
)
|
||||
b, err := hugolib.TestE(t, files)
|
||||
|
||||
b.BuildE()
|
||||
b.AssertLogMatches(`^ERROR a\nYou can suppress this error by adding the following to your site configuration:\nignoreErrors = \['error-a'\]\n$`)
|
||||
b.Assert(err, qt.IsNotNil)
|
||||
b.AssertLogMatches(`^ERROR a\nYou can suppress this error by adding the following to your site configuration:\nignoreLogs = \['error-a'\]\n$`)
|
||||
}
|
||||
|
||||
func TestWarnidf(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files := `
|
||||
-- hugo.toml --
|
||||
disableKinds = ['page','rss','section','sitemap','taxonomy','term']
|
||||
ignoreLogs = ['warning-b']
|
||||
-- layouts/index.html --
|
||||
{{ warnidf "warning-a" "%s" "a"}}
|
||||
{{ warnidf "warning-b" "%s" "b"}}
|
||||
`
|
||||
|
||||
b := hugolib.Test(t, files, hugolib.TestOptWarn())
|
||||
b.AssertLogContains("WARN a", "You can suppress this warning", "ignoreLogs", "['warning-a']")
|
||||
b.AssertLogNotContains("['warning-b']")
|
||||
}
|
||||
|
@@ -66,6 +66,13 @@ func init() {
|
||||
},
|
||||
)
|
||||
|
||||
ns.AddMethodMapping(ctx.Warnidf,
|
||||
[]string{"warnidf"},
|
||||
[][2]string{
|
||||
{`{{ warnidf "my-warn-id" "%s." "warning" }}`, ``},
|
||||
},
|
||||
)
|
||||
|
||||
ns.AddMethodMapping(ctx.Warnf,
|
||||
[]string{"warnf"},
|
||||
[][2]string{
|
||||
|
Reference in New Issue
Block a user