Skip to content
Permalink
Browse files

Deprecate mmark

Fixes #6486
  • Loading branch information
bep committed Nov 25, 2019
1 parent e345137 commit 33d733300a4f0b765234706e51bb7e077fdc2471
@@ -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()
}
@@ -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,31 +289,31 @@ 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()
}

// 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)
}
}

@@ -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]
@@ -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
@@ -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
@@ -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()
}

0 comments on commit 33d7333

Please sign in to comment.
You can’t perform that action at this time.