Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hugolib: Deprecate site methods Author, Authors, and Social #12234

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config/allconfig/allconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,11 @@ type Config struct {
RootConfig

// Author information.
// Deprecated: Use taxonomies instead.
Author map[string]any

// Social links.
// Deprecated: Use .Site.Params instead.
Social map[string]string

// The build configuration section contains build-related configuration options.
Expand Down
8 changes: 4 additions & 4 deletions hugolib/page__meta.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,9 @@ func (p *pageMeta) Aliases() []string {
return p.pageConfig.Aliases
}

// Deprecated: use taxonomies.
// Deprecated: Use taxonomies instead.
func (p *pageMeta) Author() page.Author {
hugo.Deprecate(".Author", "Use taxonomies.", "v0.98.0")
hugo.Deprecate(".Page.Author", "Use taxonomies instead.", "v0.98.0")
authors := p.Authors()

for _, author := range authors {
Expand All @@ -117,9 +117,9 @@ func (p *pageMeta) Author() page.Author {
return page.Author{}
}

// Deprecated: use taxonomies.
// Deprecated: Use taxonomies instead.
func (p *pageMeta) Authors() page.AuthorList {
hugo.Deprecate(".Author", "Use taxonomies.", "v0.112.0")
hugo.Deprecate(".Page.Authors", "Use taxonomies instead.", "v0.112.0")
return nil
}

Expand Down
6 changes: 6 additions & 0 deletions hugolib/site_new.go
Original file line number Diff line number Diff line change
Expand Up @@ -447,15 +447,21 @@ func (s *Site) Params() maps.Params {
return s.conf.Params
}

// Deprecated: Use taxonomies instead.
func (s *Site) Author() map[string]any {
hugo.Deprecate(".Site.Author", "Use taxonomies instead.", "v0.124.0")
return s.conf.Author
}

// Deprecated: Use taxonomies instead.
func (s *Site) Authors() page.AuthorList {
hugo.Deprecate(".Site.Authors", "Use taxonomies instead.", "v0.124.0")
return page.AuthorList{}
}

// Deprecated: Use .Site.Params instead.
func (s *Site) Social() map[string]string {
hugo.Deprecate(".Site.Social", "Use .Site.Params instead.", "v0.124.0")
return s.conf.Social
}

Expand Down
4 changes: 2 additions & 2 deletions resources/page/page.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ type AlternativeOutputFormatsProvider interface {

// AuthorProvider provides author information.
type AuthorProvider interface {
// Deprecated.
// Deprecated: Use taxonomies instead.
Author() Author
// Deprecated.
// Deprecated: Use taxonomies instead.
Authors() AuthorList
}

Expand Down
3 changes: 3 additions & 0 deletions resources/page/page_author.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@
package page

// AuthorList is a list of all authors and their metadata.
// Deprecated: Use taxonomies instead.
type AuthorList map[string]Author

// Author contains details about the author of a page.
// Deprecated: Use taxonomies instead.
type Author struct {
GivenName string
FamilyName string
Expand All @@ -41,4 +43,5 @@ type Author struct {
// - youtube
// - linkedin
// - skype
// Deprecated: Use taxonomies instead.
type AuthorSocial map[string]string
2 changes: 2 additions & 0 deletions resources/page/page_nop.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,12 @@ func (p *nopPage) RSSLink() template.URL {
return ""
}

// Deprecated: Use taxonomies instead.
func (p *nopPage) Author() Author {
return Author{}
}

// Deprecated: Use taxonomies instead.
func (p *nopPage) Authors() AuthorList {
return nil
}
Expand Down
14 changes: 10 additions & 4 deletions resources/page/site.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,13 @@ type Site interface {
// Returns the site config.
Config() SiteConfig

// Author is deprecated and will be removed in a future release.
// Deprecated: Use taxonomies instead.
Author() map[string]interface{}

// Authors is deprecated and will be removed in a future release.
// Deprecated: Use taxonomies instead.
Authors() AuthorList

// Returns the social links for this site.
// Deprecated: Use .Site.Params instead.
Social() map[string]string

// Deprecated: Use Config().Services.GoogleAnalytics instead.
Expand Down Expand Up @@ -165,16 +165,19 @@ func (s *siteWrapper) Key() string {
return s.s.Language().Lang
}

// // Deprecated: Use .Site.Params instead.
func (s *siteWrapper) Social() map[string]string {
return s.s.Social()
}

// Deprecated: Use taxonomies instead.
func (s *siteWrapper) Author() map[string]interface{} {
return s.s.Author()
}

// Deprecated: Use taxonomies instead.
func (s *siteWrapper) Authors() AuthorList {
return AuthorList{}
return s.s.Authors()
}

// Deprecated: Use .Site.Config.Services.GoogleAnalytics.ID instead.
Expand Down Expand Up @@ -321,14 +324,17 @@ type testSite struct {
l *langs.Language
}

// Deprecated: Use taxonomies instead.
func (s testSite) Author() map[string]interface{} {
return nil
}

// Deprecated: Use taxonomies instead.
func (s testSite) Authors() AuthorList {
return AuthorList{}
}

// Deprecated: Use .Site.Params instead.
func (s testSite) Social() map[string]string {
return make(map[string]string)
}
Expand Down
2 changes: 2 additions & 0 deletions resources/page/testhelpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,12 @@ func (p *testPage) AlternativeOutputFormats() OutputFormats {
panic("testpage: not implemented")
}

// Deprecated: Use taxonomies instead.
func (p *testPage) Author() Author {
return Author{}
}

// Deprecated: Use taxonomies instead.
func (p *testPage) Authors() AuthorList {
return nil
}
Expand Down
15 changes: 4 additions & 11 deletions tpl/tplimpl/embedded/templates/opengraph.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,11 @@
{{ end }}{{ end }}
{{- end }}

{{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}}
{{- $facebookAdmin := "" }}
{{- /* Facebook Page Admin ID for Domain Insights */}}
{{- with site.Params.social }}
{{- if reflect.IsMap . }}
{{- $facebookAdmin = .facebook_admin }}
{{- end }}
{{- else }}
{{- with site.Social.facebook_admin }}
{{- $facebookAdmin = . }}
{{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }}
{{- with .facebook_admin }}
<meta property="fb:admins" content="{{ . }}" />
{{- end }}
{{- end }}
{{- end }}

{{- /* Facebook Page Admin ID for Domain Insights */}}
{{ with $facebookAdmin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
22 changes: 7 additions & 15 deletions tpl/tplimpl/embedded/templates/twitter_cards.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,15 @@
<meta name="twitter:title" content="{{ .Title }}"/>
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>

{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}}
{{- $twitterSite := "" }}
{{- with site.Params.social }}
{{- if reflect.IsMap . }}
{{- $twitterSite = .twitter }}
{{- with .twitter }}
{{- $content := . }}
{{- if not (strings.HasPrefix . "@") }}
{{- $content = printf "@%v" . }}
{{- end }}
<meta name="twitter:site" content="{{ $content }}"/>
{{- end }}
{{- end }}
{{- else }}
{{- with site.Social.twitter }}
{{- $twitterSite = . }}
{{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }}
{{- end }}
{{- end }}

{{- with $twitterSite }}
{{- $content := . }}
{{- if not (strings.HasPrefix . "@") }}
{{- $content = printf "@%v" $twitterSite }}
{{- end }}
<meta name="twitter:site" content="{{ $content }}"/>
{{- end }}
Loading