Deprecate mmark
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 25 Nov 2019 19:04:49 +0000 (20:04 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 25 Nov 2019 19:14:20 +0000 (20:14 +0100)
Fixes #6486

helpers/content.go
helpers/general.go
hugolib/site.go
resources/page/page_generate/generate_page_wrappers.go
resources/page/page_marshaljson.autogen.go
resources/page/page_wrappers.autogen.go

index 94147546192d7e931e87ee1fa63a539b58c4ed4b..4dc4cd413bd57a9e616e24969d6931e3c7132966 100644 (file)
@@ -198,6 +198,9 @@ func (c *ContentSpec) ResolveMarkup(in string) string {
        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()
                }
index 259bcf8f4bc6a4f019899bc0a468176b3c121712..699ddeb538720e92dcc4884c79eed92801feb2d1 100644 (file)
@@ -252,8 +252,8 @@ type LogPrinter interface {
 // 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 @@ func (l *DistinctLogger) print(logStatement string) {
 
        l.Lock()
        if !l.m[logStatement] {
-               l.logger.Println(logStatement)
+               l.getLogger().Println(logStatement)
                l.m[logStatement] = true
        }
        l.Unlock()
@@ -297,23 +297,23 @@ func (l *DistinctLogger) print(logStatement string) {
 
 // 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 @@ func InitLoggers() {
 // 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)
        }
 }
 
index de41b8fc3915f2c674c013cc3aec9aeedf21c178..237a1ba8fbf04ba378773d1cb000f15d73e30eeb 100644 (file)
@@ -572,7 +572,7 @@ func (s *SiteInfo) AllRegularPages() page.Pages {
 
 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 @@ func (s *siteRefLinker) refLink(ref string, source interface{}, relative bool, o
 // 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 @@ func (s *SiteInfo) Ref(ref string, page page.Page, options ...string) (string, e
 // 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]
index 6d421c35694f4fcf4fb6a7cbaa6bde0f32ca96e2..4c63962fa1b84f65204cd9cd49865848a37e8813 100644 (file)
@@ -165,7 +165,7 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error {
                        }
                }
 
-               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
index b2a8ef79ffdc3fcc8eaa9b4829434e0aec651ea8..6e08210acfc1ef67fe1957fd0747b1124714fc4a 100644 (file)
@@ -18,6 +18,7 @@ package page
 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 @@ func MarshalPageToJSON(p Page) ([]byte, error) {
                RelPermalink             string
                Name                     string
                Title                    string
-               Params                   map[string]interface{}
+               Params                   maps.Params
                Data                     interface{}
                Date                     time.Time
                Lastmod                  time.Time
index d2d14dee6f188291db129e4bbf9ab1fc0fa7adad..bc2cf968c317777dda7c181503f703fd7adc10f0 100644 (file)
@@ -32,66 +32,66 @@ type pageDeprecated struct {
 }
 
 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()
 }