mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-23 18:51:02 +00:00
parent
8a58ebb311
commit
1773d71d5b
4 changed files with 45 additions and 7 deletions
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
title: errorf
|
||||
linktitle: errorf
|
||||
description: Log ERROR and fail the build from the templates.
|
||||
title: errorf and warnf
|
||||
description: Log ERROR or WARNING from the templates.
|
||||
date: 2017-09-30
|
||||
publishdate: 2017-09-30
|
||||
lastmod: 2017-09-30
|
||||
|
@ -18,12 +17,18 @@ deprecated: false
|
|||
aliases: []
|
||||
---
|
||||
|
||||
`errorf` will evaluate a format string, then output the result to the ERROR log (and only once per error message to avoid flooding the log).
|
||||
`errorf` or `warnf` will evaluate a format string, then output the result to the ERROR or WARNING log (and only once per error message to avoid flooding the log).
|
||||
|
||||
This will also cause the build to fail (the `hugo` command will `exit -1`).
|
||||
Any ERROR will also cause the build to fail (the `hugo` command will `exit -1`).
|
||||
|
||||
Note that the WARNING will only be printed to the console.
|
||||
|
||||
```
|
||||
{{ errorf "Failed to handle page %q" .Path }}
|
||||
```
|
||||
|
||||
Note that `errorf` supports all the formatting verbs of the [fmt](https://golang.org/pkg/fmt/) package.
|
||||
```
|
||||
{{ warnf "You should update the shortcodes in %q" .Path }}
|
||||
```
|
||||
|
||||
Note that `errorf` and `warnf` support all the formatting verbs of the [fmt](https://golang.org/pkg/fmt/) package.
|
||||
|
|
|
@ -3053,6 +3053,22 @@
|
|||
"works!\n"
|
||||
]
|
||||
]
|
||||
},
|
||||
"Warnf": {
|
||||
"Description": "Warnf formats according to a format specifier and logs a WARNING.\nIt returns an empty string.",
|
||||
"Args": [
|
||||
"format",
|
||||
"a"
|
||||
],
|
||||
"Aliases": [
|
||||
"warnf"
|
||||
],
|
||||
"Examples": [
|
||||
[
|
||||
"{{ warnf \"%s.\" \"warning\" }}",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"hugo": {
|
||||
|
|
|
@ -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 ""
|
||||
}
|
||||
|
|
|
@ -57,6 +57,12 @@ func init() {
|
|||
},
|
||||
)
|
||||
|
||||
ns.AddMethodMapping(ctx.Warnf,
|
||||
[]string{"warnf"},
|
||||
[][2]string{
|
||||
{`{{ warnf "%s." "warning" }}`, ``},
|
||||
},
|
||||
)
|
||||
return ns
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue