summaryrefslogtreecommitdiffhomepage
path: root/tpl
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2019-12-20 20:46:17 +0100
committerBjørn Erik Pedersen <[email protected]>2019-12-21 10:23:00 +0100
commit1773d71d5b40f5a6a14edca417d2818607a499f1 (patch)
tree0b63843378c705b8c9f4b8f6d9f18db58315233d /tpl
parent8a58ebb311fd079f65068e7e37725e4d43f17ab5 (diff)
downloadhugo-1773d71d5b40f5a6a14edca417d2818607a499f1.tar.gz
hugo-1773d71d5b40f5a6a14edca417d2818607a499f1.zip
tpl: Add a warnf template func
Fixes #6628
Diffstat (limited to 'tpl')
-rw-r--r--tpl/fmt/fmt.go13
-rw-r--r--tpl/fmt/init.go6
2 files changed, 18 insertions, 1 deletions
diff --git a/tpl/fmt/fmt.go b/tpl/fmt/fmt.go
index 8b24648cb..7e0258650 100644
--- a/tpl/fmt/fmt.go
+++ b/tpl/fmt/fmt.go
@@ -23,12 +23,16 @@ import (
// New returns a new instance of the fmt-namespaced template functions.
func New(d *deps.Deps) *Namespace {
- return &Namespace{helpers.NewDistinctLogger(d.Log.ERROR)}
+ return &Namespace{
+ errorLogger: helpers.NewDistinctLogger(d.Log.ERROR),
+ warnLogger: helpers.NewDistinctLogger(d.Log.WARN),
+ }
}
// Namespace provides template functions for the "fmt" namespace.
type Namespace struct {
errorLogger *helpers.DistinctLogger
+ warnLogger *helpers.DistinctLogger
}
// Print returns string representation of the passed arguments.
@@ -53,3 +57,10 @@ func (ns *Namespace) Errorf(format string, a ...interface{}) string {
ns.errorLogger.Printf(format, a...)
return _fmt.Sprintf(format, a...)
}
+
+// Warnf formats according to a format specifier and logs a WARNING.
+// It returns an empty string.
+func (ns *Namespace) Warnf(format string, a ...interface{}) string {
+ ns.warnLogger.Printf(format, a...)
+ return ""
+}
diff --git a/tpl/fmt/init.go b/tpl/fmt/init.go
index 117055801..14568b45a 100644
--- a/tpl/fmt/init.go
+++ b/tpl/fmt/init.go
@@ -57,6 +57,12 @@ func init() {
},
)
+ ns.AddMethodMapping(ctx.Warnf,
+ []string{"warnf"},
+ [][2]string{
+ {`{{ warnf "%s." "warning" }}`, ``},
+ },
+ )
return ns
}