shithub: hugo

Download patch

ref: 87b3cd4655088c5e4bb519ea310386959850000d
parent: 5989c4d46474298e7f9f26ddeec8e3ec62ae5677
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Mar 29 04:08:45 EDT 2017

hugolib, helpers: Reduce log level to WARN on .Render for non-regular pages

We will eventually support all types in the Render method.

--- a/helpers/general.go
+++ b/helpers/general.go
@@ -250,6 +250,11 @@
 	return &DistinctLogger{m: make(map[string]bool), logger: jww.ERROR}
 }
 
+// NewDistinctWarnLogger creates a new DistinctLogger that logs WARNs
+func NewDistinctWarnLogger() *DistinctLogger {
+	return &DistinctLogger{m: make(map[string]bool), logger: jww.WARN}
+}
+
 // NewDistinctFeedbackLogger creates a new DistinctLogger that can be used
 // to give feedback to the user while not spamming with duplicates.
 func NewDistinctFeedbackLogger() *DistinctLogger {
@@ -260,6 +265,9 @@
 	// DistinctErrorLog can be used to avoid spamming the logs with errors.
 	DistinctErrorLog = NewDistinctErrorLogger()
 
+	// DistinctWarnLog can be used to avoid spamming the logs with warnings.
+	DistinctWarnLog = NewDistinctWarnLogger()
+
 	// DistinctFeedbackLog can be used to avoid spamming the logs with info messages.
 	DistinctFeedbackLog = NewDistinctFeedbackLogger()
 )
@@ -266,7 +274,7 @@
 
 // InitLoggers sets up the global distinct loggers.
 func InitLoggers() {
-	DistinctErrorLog = NewDistinctErrorLogger()
+	jww.ResetLogCounters()
 }
 
 // Deprecated informs about a deprecation, but only once for a given set of arguments' values.
--- a/hugolib/page_output.go
+++ b/hugolib/page_output.go
@@ -104,7 +104,7 @@
 
 func (p *PageOutput) Render(layout ...string) template.HTML {
 	if !p.checkRender() {
-		return template.HTML("")
+		return ""
 	}
 
 	l, err := p.layouts(layout...)
@@ -117,7 +117,7 @@
 
 func (p *Page) Render(layout ...string) template.HTML {
 	if !p.checkRender() {
-		return template.HTML("")
+		return ""
 	}
 
 	p.pageOutputInit.Do(func() {
@@ -142,7 +142,7 @@
 // for list pages.
 func (p *Page) checkRender() bool {
 	if p.Kind != KindPage {
-		helpers.DistinctErrorLog.Printf(".Render only available for regular pages, not for of kind %q. You probably meant .Site.RegularPages and not.Site.Pages.", p.Kind)
+		helpers.DistinctWarnLog.Printf(".Render only available for regular pages, not for of kind %q. You probably meant .Site.RegularPages and not.Site.Pages.", p.Kind)
 		return false
 	}
 	return true