Skip to content

Commit

Permalink
Make the deprecated Page/File methods (from Hugo 0.55) ERROR
Browse files Browse the repository at this point in the history
Closes #9346
  • Loading branch information
bep committed Jan 4, 2022
1 parent dad0dc8 commit 56ab83a
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 32 deletions.
9 changes: 7 additions & 2 deletions resources/page/page_generate/generate_page_wrappers.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (

"github.com/gohugoio/hugo/codegen"
"github.com/gohugoio/hugo/resources/page"
"github.com/gohugoio/hugo/resources/resource"
"github.com/gohugoio/hugo/source"
)

Expand Down Expand Up @@ -88,6 +89,8 @@ func generateMarshalJSON(c *codegen.Inspector) error {
// Leave this out for now. We need to revisit the author issue.
reflect.TypeOf((*page.AuthorProvider)(nil)).Elem(),

reflect.TypeOf((*resource.ErrProvider)(nil)).Elem(),

// navigation.PageMenus

// Prevent loops.
Expand Down Expand Up @@ -163,7 +166,7 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error {
}
}

return fmt.Sprintf("helpers.Deprecated(%q, %q, false)", "Page."+name, alternative)
return fmt.Sprintf("helpers.Deprecated(%q, %q, true)", "Page."+name, alternative)
}

var buff bytes.Buffer
Expand Down Expand Up @@ -214,7 +217,9 @@ func generateFileIsZeroWrappers(c *codegen.Inspector) error {
warning := func(name string, tp reflect.Type) string {
msg := fmt.Sprintf(".File.%s on zero object. Wrap it in if or with: {{ with .File }}{{ .%s }}{{ end }}", name, name)

return fmt.Sprintf("z.log.Println(%q)", msg)
// We made this a Warning in 0.92.0.
// When we remove this construct in 0.93.0, people will get a nil pointer.
return fmt.Sprintf("z.log.Warnln(%q)", msg)
}

var buff bytes.Buffer
Expand Down
32 changes: 16 additions & 16 deletions resources/page/page_wrappers.autogen.go
Original file line number Diff line number Diff line change
Expand Up @@ -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", true)
return p.p.Filename()
}
func (p *pageDeprecated) Dir() string {
helpers.Deprecated("Page.Dir", "Use .File.Dir", false)
helpers.Deprecated("Page.Dir", "Use .File.Dir", true)
return p.p.Dir()
}
func (p *pageDeprecated) IsDraft() bool {
helpers.Deprecated("Page.IsDraft", "Use .Draft.", false)
helpers.Deprecated("Page.IsDraft", "Use .Draft.", true)
return p.p.IsDraft()
}
func (p *pageDeprecated) Extension() string {
helpers.Deprecated("Page.Extension", "Use .File.Extension", false)
helpers.Deprecated("Page.Extension", "Use .File.Extension", true)
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.", true)
return p.p.Hugo()
}
func (p *pageDeprecated) Ext() string {
helpers.Deprecated("Page.Ext", "Use .File.Ext", false)
helpers.Deprecated("Page.Ext", "Use .File.Ext", true)
return p.p.Ext()
}
func (p *pageDeprecated) LanguagePrefix() string {
helpers.Deprecated("Page.LanguagePrefix", "Use .Site.LanguagePrefix.", false)
helpers.Deprecated("Page.LanguagePrefix", "Use .Site.LanguagePrefix.", true)
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.", true)
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", true)
return p.p.LogicalName()
}
func (p *pageDeprecated) BaseFileName() string {
helpers.Deprecated("Page.BaseFileName", "Use .File.BaseFileName", false)
helpers.Deprecated("Page.BaseFileName", "Use .File.BaseFileName", true)
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 }}", true)
return p.p.RSSLink()
}
func (p *pageDeprecated) TranslationBaseName() string {
helpers.Deprecated("Page.TranslationBaseName", "Use .File.TranslationBaseName", false)
helpers.Deprecated("Page.TranslationBaseName", "Use .File.TranslationBaseName", true)
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", true)
return p.p.URL()
}
func (p *pageDeprecated) ContentBaseName() string {
helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", false)
helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", true)
return p.p.ContentBaseName()
}
func (p *pageDeprecated) UniqueID() string {
helpers.Deprecated("Page.UniqueID", "Use .File.UniqueID", false)
helpers.Deprecated("Page.UniqueID", "Use .File.UniqueID", true)
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", true)
return p.p.FileInfo()
}
26 changes: 13 additions & 13 deletions resources/page/zero_file.autogen.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,54 +35,54 @@ func (zeroFile) IsZero() bool {
}

func (z zeroFile) Path() (o0 string) {
z.log.Println(".File.Path on zero object. Wrap it in if or with: {{ with .File }}{{ .Path }}{{ end }}")
z.log.Warnln(".File.Path on zero object. Wrap it in if or with: {{ with .File }}{{ .Path }}{{ end }}")
return
}
func (z zeroFile) Section() (o0 string) {
z.log.Println(".File.Section on zero object. Wrap it in if or with: {{ with .File }}{{ .Section }}{{ end }}")
z.log.Warnln(".File.Section on zero object. Wrap it in if or with: {{ with .File }}{{ .Section }}{{ end }}")
return
}
func (z zeroFile) Lang() (o0 string) {
z.log.Println(".File.Lang on zero object. Wrap it in if or with: {{ with .File }}{{ .Lang }}{{ end }}")
z.log.Warnln(".File.Lang on zero object. Wrap it in if or with: {{ with .File }}{{ .Lang }}{{ end }}")
return
}
func (z zeroFile) Filename() (o0 string) {
z.log.Println(".File.Filename on zero object. Wrap it in if or with: {{ with .File }}{{ .Filename }}{{ end }}")
z.log.Warnln(".File.Filename on zero object. Wrap it in if or with: {{ with .File }}{{ .Filename }}{{ end }}")
return
}
func (z zeroFile) Dir() (o0 string) {
z.log.Println(".File.Dir on zero object. Wrap it in if or with: {{ with .File }}{{ .Dir }}{{ end }}")
z.log.Warnln(".File.Dir on zero object. Wrap it in if or with: {{ with .File }}{{ .Dir }}{{ end }}")
return
}
func (z zeroFile) Extension() (o0 string) {
z.log.Println(".File.Extension on zero object. Wrap it in if or with: {{ with .File }}{{ .Extension }}{{ end }}")
z.log.Warnln(".File.Extension on zero object. Wrap it in if or with: {{ with .File }}{{ .Extension }}{{ end }}")
return
}
func (z zeroFile) Ext() (o0 string) {
z.log.Println(".File.Ext on zero object. Wrap it in if or with: {{ with .File }}{{ .Ext }}{{ end }}")
z.log.Warnln(".File.Ext on zero object. Wrap it in if or with: {{ with .File }}{{ .Ext }}{{ end }}")
return
}
func (z zeroFile) LogicalName() (o0 string) {
z.log.Println(".File.LogicalName on zero object. Wrap it in if or with: {{ with .File }}{{ .LogicalName }}{{ end }}")
z.log.Warnln(".File.LogicalName on zero object. Wrap it in if or with: {{ with .File }}{{ .LogicalName }}{{ end }}")
return
}
func (z zeroFile) BaseFileName() (o0 string) {
z.log.Println(".File.BaseFileName on zero object. Wrap it in if or with: {{ with .File }}{{ .BaseFileName }}{{ end }}")
z.log.Warnln(".File.BaseFileName on zero object. Wrap it in if or with: {{ with .File }}{{ .BaseFileName }}{{ end }}")
return
}
func (z zeroFile) TranslationBaseName() (o0 string) {
z.log.Println(".File.TranslationBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .TranslationBaseName }}{{ end }}")
z.log.Warnln(".File.TranslationBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .TranslationBaseName }}{{ end }}")
return
}
func (z zeroFile) ContentBaseName() (o0 string) {
z.log.Println(".File.ContentBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .ContentBaseName }}{{ end }}")
z.log.Warnln(".File.ContentBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .ContentBaseName }}{{ end }}")
return
}
func (z zeroFile) UniqueID() (o0 string) {
z.log.Println(".File.UniqueID on zero object. Wrap it in if or with: {{ with .File }}{{ .UniqueID }}{{ end }}")
z.log.Warnln(".File.UniqueID on zero object. Wrap it in if or with: {{ with .File }}{{ .UniqueID }}{{ end }}")
return
}
func (z zeroFile) FileInfo() (o0 hugofs.FileMetaInfo) {
z.log.Println(".File.FileInfo on zero object. Wrap it in if or with: {{ with .File }}{{ .FileInfo }}{{ end }}")
z.log.Warnln(".File.FileInfo on zero object. Wrap it in if or with: {{ with .File }}{{ .FileInfo }}{{ end }}")
return
}
7 changes: 6 additions & 1 deletion resources/resource/resourcetypes.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ type OriginProvider interface {
GetFieldString(pattern string) (string, bool)
}

// ErrProvider provides an Err.
type ErrProvider interface {
Err() error
}

// Resource represents a linkable resource, i.e. a content page, image etc.
type Resource interface {
ResourceTypeProvider
Expand All @@ -45,7 +50,7 @@ type Resource interface {
ResourceMetaProvider
ResourceParamsProvider
ResourceDataProvider
Err() error
ErrProvider
}

// Image represents an image resource.
Expand Down

0 comments on commit 56ab83a

Please sign in to comment.