shithub: hugo

Download patch

ref: 33d733300a4f0b765234706e51bb7e077fdc2471
parent: e3451371bdb68015f89c8c0f7d8ea0a19fff8df5
author: Bjørn Erik Pedersen <[email protected]>
date: Mon Nov 25 15:04:49 EST 2019

Deprecate mmark

Fixes #6486

--- a/helpers/content.go
+++ b/helpers/content.go
@@ -198,6 +198,9 @@
 	case "html", "htm":
 		return "html"
 	default:
+		if in == "mmark" {
+			Deprecated("Markup type mmark", "See https://gohugo.io//content-management/formats/#list-of-content-formats", false)
+		}
 		if conv := c.Converters.Get(in); conv != nil {
 			return conv.Name()
 		}
--- a/helpers/general.go
+++ b/helpers/general.go
@@ -252,8 +252,8 @@
 // DistinctLogger ignores duplicate log statements.
 type DistinctLogger struct {
 	sync.RWMutex
-	logger LogPrinter
-	m      map[string]bool
+	getLogger func() LogPrinter
+	m         map[string]bool
 }
 
 func (l *DistinctLogger) Reset() {
@@ -289,7 +289,7 @@
 
 	l.Lock()
 	if !l.m[logStatement] {
-		l.logger.Println(logStatement)
+		l.getLogger().Println(logStatement)
 		l.m[logStatement] = true
 	}
 	l.Unlock()
@@ -297,23 +297,23 @@
 
 // NewDistinctErrorLogger creates a new DistinctLogger that logs ERRORs
 func NewDistinctErrorLogger() *DistinctLogger {
-	return &DistinctLogger{m: make(map[string]bool), logger: jww.ERROR}
+	return &DistinctLogger{m: make(map[string]bool), getLogger: func() LogPrinter { return jww.ERROR }}
 }
 
 // NewDistinctLogger creates a new DistinctLogger that logs to the provided logger.
 func NewDistinctLogger(logger LogPrinter) *DistinctLogger {
-	return &DistinctLogger{m: make(map[string]bool), logger: logger}
+	return &DistinctLogger{m: make(map[string]bool), getLogger: func() LogPrinter { return logger }}
 }
 
 // NewDistinctWarnLogger creates a new DistinctLogger that logs WARNs
 func NewDistinctWarnLogger() *DistinctLogger {
-	return &DistinctLogger{m: make(map[string]bool), logger: jww.WARN}
+	return &DistinctLogger{m: make(map[string]bool), getLogger: func() LogPrinter { return 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 {
-	return &DistinctLogger{m: make(map[string]bool), logger: jww.FEEDBACK}
+	return &DistinctLogger{m: make(map[string]bool), getLogger: func() LogPrinter { return jww.FEEDBACK }}
 }
 
 var (
@@ -339,16 +339,12 @@
 // point at the next Hugo release.
 // The idea is two remove an item in two Hugo releases to give users and theme authors
 // plenty of time to fix their templates.
-func Deprecated(object, item, alternative string, err bool) {
-	if !strings.HasSuffix(alternative, ".") {
-		alternative += "."
-	}
-
+func Deprecated(item, alternative string, err bool) {
 	if err {
-		DistinctErrorLog.Printf("%s's %s is deprecated and will be removed in Hugo %s. %s", object, item, hugo.CurrentVersion.Next().ReleaseVersion(), alternative)
+		DistinctErrorLog.Printf("%s is deprecated and will be removed in Hugo %s. %s", item, hugo.CurrentVersion.Next().ReleaseVersion(), alternative)
 
 	} else {
-		DistinctWarnLog.Printf("%s's %s is deprecated and will be removed in a future release. %s", object, item, alternative)
+		DistinctWarnLog.Printf("%s is deprecated and will be removed in a future release. %s", item, alternative)
 	}
 }
 
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -572,7 +572,7 @@
 
 func (s *SiteInfo) Permalinks() map[string]string {
 	// Remove in 0.57
-	helpers.Deprecated("Site", ".Permalinks", "", false)
+	helpers.Deprecated(".Site.Permalinks", "", false)
 	return s.permalinks
 }
 
@@ -794,7 +794,7 @@
 // Ref will give an absolute URL to ref in the given Page.
 func (s *SiteInfo) Ref(ref string, page page.Page, options ...string) (string, error) {
 	// Remove in Hugo 0.54
-	helpers.Deprecated("Site", ".Ref", "Use .Site.GetPage", true)
+	helpers.Deprecated(".Site.Ref", "Use .Site.GetPage", true)
 	outputFormat := ""
 	if len(options) > 0 {
 		outputFormat = options[0]
@@ -806,7 +806,7 @@
 // RelRef will give an relative URL to ref in the given Page.
 func (s *SiteInfo) RelRef(ref string, page page.Page, options ...string) (string, error) {
 	// Remove in Hugo 0.54
-	helpers.Deprecated("Site", ".RelRef", "Use .Site.GetPage", true)
+	helpers.Deprecated(".Site.RelRef", "Use .Site.GetPage", true)
 	outputFormat := ""
 	if len(options) > 0 {
 		outputFormat = options[0]
--- a/resources/page/page_generate/generate_page_wrappers.go
+++ b/resources/page/page_generate/generate_page_wrappers.go
@@ -165,7 +165,7 @@
 			}
 		}
 
-		return fmt.Sprintf("helpers.Deprecated(%q, %q, %q, false)", "Page", "."+name, alternative)
+		return fmt.Sprintf("helpers.Deprecated(%q, %q, false)", "Page."+name, alternative)
 	}
 
 	var buff bytes.Buffer
--- a/resources/page/page_marshaljson.autogen.go
+++ b/resources/page/page_marshaljson.autogen.go
@@ -18,6 +18,7 @@
 import (
 	"encoding/json"
 	"github.com/bep/gitmap"
+	"github.com/gohugoio/hugo/common/maps"
 	"github.com/gohugoio/hugo/config"
 	"github.com/gohugoio/hugo/langs"
 	"github.com/gohugoio/hugo/media"
@@ -104,7 +105,7 @@
 		RelPermalink             string
 		Name                     string
 		Title                    string
-		Params                   map[string]interface{}
+		Params                   maps.Params
 		Data                     interface{}
 		Date                     time.Time
 		Lastmod                  time.Time
--- a/resources/page/page_wrappers.autogen.go
+++ b/resources/page/page_wrappers.autogen.go
@@ -32,66 +32,66 @@
 }
 
 func (p *pageDeprecated) Filename() string {
-	helpers.Deprecated("Page", ".Filename", "Use .File.Filename", false)
+	helpers.Deprecated("Page.Filename", "Use .File.Filename", false)
 	return p.p.Filename()
 }
 func (p *pageDeprecated) Dir() string {
-	helpers.Deprecated("Page", ".Dir", "Use .File.Dir", false)
+	helpers.Deprecated("Page.Dir", "Use .File.Dir", false)
 	return p.p.Dir()
 }
 func (p *pageDeprecated) IsDraft() bool {
-	helpers.Deprecated("Page", ".IsDraft", "Use .Draft.", false)
+	helpers.Deprecated("Page.IsDraft", "Use .Draft.", false)
 	return p.p.IsDraft()
 }
 func (p *pageDeprecated) Extension() string {
-	helpers.Deprecated("Page", ".Extension", "Use .File.Extension", false)
+	helpers.Deprecated("Page.Extension", "Use .File.Extension", false)
 	return p.p.Extension()
 }
 func (p *pageDeprecated) Hugo() hugo.Info {
-	helpers.Deprecated("Page", ".Hugo", "Use the global hugo function.", false)
+	helpers.Deprecated("Page.Hugo", "Use the global hugo function.", false)
 	return p.p.Hugo()
 }
 func (p *pageDeprecated) Ext() string {
-	helpers.Deprecated("Page", ".Ext", "Use .File.Ext", false)
+	helpers.Deprecated("Page.Ext", "Use .File.Ext", false)
 	return p.p.Ext()
 }
 func (p *pageDeprecated) LanguagePrefix() string {
-	helpers.Deprecated("Page", ".LanguagePrefix", "Use .Site.LanguagePrefix.", false)
+	helpers.Deprecated("Page.LanguagePrefix", "Use .Site.LanguagePrefix.", false)
 	return p.p.LanguagePrefix()
 }
 func (p *pageDeprecated) GetParam(arg0 string) interface{} {
-	helpers.Deprecated("Page", ".GetParam", "Use .Param or .Params.myParam.", false)
+	helpers.Deprecated("Page.GetParam", "Use .Param or .Params.myParam.", false)
 	return p.p.GetParam(arg0)
 }
 func (p *pageDeprecated) LogicalName() string {
-	helpers.Deprecated("Page", ".LogicalName", "Use .File.LogicalName", false)
+	helpers.Deprecated("Page.LogicalName", "Use .File.LogicalName", false)
 	return p.p.LogicalName()
 }
 func (p *pageDeprecated) BaseFileName() string {
-	helpers.Deprecated("Page", ".BaseFileName", "Use .File.BaseFileName", false)
+	helpers.Deprecated("Page.BaseFileName", "Use .File.BaseFileName", false)
 	return p.p.BaseFileName()
 }
 func (p *pageDeprecated) RSSLink() template.URL {
-	helpers.Deprecated("Page", ".RSSLink", "Use the Output Format's link, e.g. something like: \n    {{ with .OutputFormats.Get \"RSS\" }}{{ .RelPermalink }}{{ end }}", false)
+	helpers.Deprecated("Page.RSSLink", "Use the Output Format's link, e.g. something like: \n    {{ with .OutputFormats.Get \"RSS\" }}{{ .RelPermalink }}{{ end }}", false)
 	return p.p.RSSLink()
 }
 func (p *pageDeprecated) TranslationBaseName() string {
-	helpers.Deprecated("Page", ".TranslationBaseName", "Use .File.TranslationBaseName", false)
+	helpers.Deprecated("Page.TranslationBaseName", "Use .File.TranslationBaseName", false)
 	return p.p.TranslationBaseName()
 }
 func (p *pageDeprecated) URL() string {
-	helpers.Deprecated("Page", ".URL", "Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url", false)
+	helpers.Deprecated("Page.URL", "Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url", false)
 	return p.p.URL()
 }
 func (p *pageDeprecated) ContentBaseName() string {
-	helpers.Deprecated("Page", ".ContentBaseName", "Use .File.ContentBaseName", false)
+	helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", false)
 	return p.p.ContentBaseName()
 }
 func (p *pageDeprecated) UniqueID() string {
-	helpers.Deprecated("Page", ".UniqueID", "Use .File.UniqueID", false)
+	helpers.Deprecated("Page.UniqueID", "Use .File.UniqueID", false)
 	return p.p.UniqueID()
 }
 func (p *pageDeprecated) FileInfo() hugofs.FileMetaInfo {
-	helpers.Deprecated("Page", ".FileInfo", "Use .File.FileInfo", false)
+	helpers.Deprecated("Page.FileInfo", "Use .File.FileInfo", false)
 	return p.p.FileInfo()
 }