Deprecate mmark

Fixes #6486
This commit is contained in:
Bjørn Erik Pedersen 2019-11-25 20:04:49 +01:00
parent e3451371bd
commit 33d733300a
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
6 changed files with 35 additions and 35 deletions

View file

@ -198,6 +198,9 @@ func (c *ContentSpec) ResolveMarkup(in string) string {
case "html", "htm": case "html", "htm":
return "html" return "html"
default: 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 { if conv := c.Converters.Get(in); conv != nil {
return conv.Name() return conv.Name()
} }

View file

@ -252,8 +252,8 @@ type LogPrinter interface {
// DistinctLogger ignores duplicate log statements. // DistinctLogger ignores duplicate log statements.
type DistinctLogger struct { type DistinctLogger struct {
sync.RWMutex sync.RWMutex
logger LogPrinter getLogger func() LogPrinter
m map[string]bool m map[string]bool
} }
func (l *DistinctLogger) Reset() { func (l *DistinctLogger) Reset() {
@ -289,7 +289,7 @@ func (l *DistinctLogger) print(logStatement string) {
l.Lock() l.Lock()
if !l.m[logStatement] { if !l.m[logStatement] {
l.logger.Println(logStatement) l.getLogger().Println(logStatement)
l.m[logStatement] = true l.m[logStatement] = true
} }
l.Unlock() l.Unlock()
@ -297,23 +297,23 @@ func (l *DistinctLogger) print(logStatement string) {
// NewDistinctErrorLogger creates a new DistinctLogger that logs ERRORs // NewDistinctErrorLogger creates a new DistinctLogger that logs ERRORs
func NewDistinctErrorLogger() *DistinctLogger { 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. // NewDistinctLogger creates a new DistinctLogger that logs to the provided logger.
func NewDistinctLogger(logger LogPrinter) *DistinctLogger { 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 // NewDistinctWarnLogger creates a new DistinctLogger that logs WARNs
func NewDistinctWarnLogger() *DistinctLogger { 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 // NewDistinctFeedbackLogger creates a new DistinctLogger that can be used
// to give feedback to the user while not spamming with duplicates. // to give feedback to the user while not spamming with duplicates.
func NewDistinctFeedbackLogger() *DistinctLogger { 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 ( var (
@ -339,16 +339,12 @@ func InitLoggers() {
// point at the next Hugo release. // point at the next Hugo release.
// The idea is two remove an item in two Hugo releases to give users and theme authors // The idea is two remove an item in two Hugo releases to give users and theme authors
// plenty of time to fix their templates. // plenty of time to fix their templates.
func Deprecated(object, item, alternative string, err bool) { func Deprecated(item, alternative string, err bool) {
if !strings.HasSuffix(alternative, ".") {
alternative += "."
}
if err { 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 { } 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)
} }
} }

View file

@ -572,7 +572,7 @@ func (s *SiteInfo) AllRegularPages() page.Pages {
func (s *SiteInfo) Permalinks() map[string]string { func (s *SiteInfo) Permalinks() map[string]string {
// Remove in 0.57 // Remove in 0.57
helpers.Deprecated("Site", ".Permalinks", "", false) helpers.Deprecated(".Site.Permalinks", "", false)
return s.permalinks 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. // 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) { func (s *SiteInfo) Ref(ref string, page page.Page, options ...string) (string, error) {
// Remove in Hugo 0.54 // Remove in Hugo 0.54
helpers.Deprecated("Site", ".Ref", "Use .Site.GetPage", true) helpers.Deprecated(".Site.Ref", "Use .Site.GetPage", true)
outputFormat := "" outputFormat := ""
if len(options) > 0 { if len(options) > 0 {
outputFormat = 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. // 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) { func (s *SiteInfo) RelRef(ref string, page page.Page, options ...string) (string, error) {
// Remove in Hugo 0.54 // Remove in Hugo 0.54
helpers.Deprecated("Site", ".RelRef", "Use .Site.GetPage", true) helpers.Deprecated(".Site.RelRef", "Use .Site.GetPage", true)
outputFormat := "" outputFormat := ""
if len(options) > 0 { if len(options) > 0 {
outputFormat = options[0] outputFormat = options[0]

View 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 var buff bytes.Buffer

View file

@ -18,6 +18,7 @@ package page
import ( import (
"encoding/json" "encoding/json"
"github.com/bep/gitmap" "github.com/bep/gitmap"
"github.com/gohugoio/hugo/common/maps"
"github.com/gohugoio/hugo/config" "github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/langs" "github.com/gohugoio/hugo/langs"
"github.com/gohugoio/hugo/media" "github.com/gohugoio/hugo/media"
@ -104,7 +105,7 @@ func MarshalPageToJSON(p Page) ([]byte, error) {
RelPermalink string RelPermalink string
Name string Name string
Title string Title string
Params map[string]interface{} Params maps.Params
Data interface{} Data interface{}
Date time.Time Date time.Time
Lastmod time.Time Lastmod time.Time

View file

@ -32,66 +32,66 @@ type pageDeprecated struct {
} }
func (p *pageDeprecated) Filename() string { 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() return p.p.Filename()
} }
func (p *pageDeprecated) Dir() string { 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() return p.p.Dir()
} }
func (p *pageDeprecated) IsDraft() bool { func (p *pageDeprecated) IsDraft() bool {
helpers.Deprecated("Page", ".IsDraft", "Use .Draft.", false) helpers.Deprecated("Page.IsDraft", "Use .Draft.", false)
return p.p.IsDraft() return p.p.IsDraft()
} }
func (p *pageDeprecated) Extension() string { 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() return p.p.Extension()
} }
func (p *pageDeprecated) Hugo() hugo.Info { 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() return p.p.Hugo()
} }
func (p *pageDeprecated) Ext() string { 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() return p.p.Ext()
} }
func (p *pageDeprecated) LanguagePrefix() string { 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() return p.p.LanguagePrefix()
} }
func (p *pageDeprecated) GetParam(arg0 string) interface{} { 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) return p.p.GetParam(arg0)
} }
func (p *pageDeprecated) LogicalName() string { 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() return p.p.LogicalName()
} }
func (p *pageDeprecated) BaseFileName() string { 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() return p.p.BaseFileName()
} }
func (p *pageDeprecated) RSSLink() template.URL { 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() return p.p.RSSLink()
} }
func (p *pageDeprecated) TranslationBaseName() string { 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() return p.p.TranslationBaseName()
} }
func (p *pageDeprecated) URL() string { 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() return p.p.URL()
} }
func (p *pageDeprecated) ContentBaseName() string { 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() return p.p.ContentBaseName()
} }
func (p *pageDeprecated) UniqueID() string { 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() return p.p.UniqueID()
} }
func (p *pageDeprecated) FileInfo() hugofs.FileMetaInfo { 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() return p.p.FileInfo()
} }