URI: 
       hugolib: Deprecate site methods Author, Authors, and Social - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit d4d49e0f0ec53ef7e105c51b5c6fd198c86acb7e
   DIR parent 78178d0c2a10e7793a41f8f66b3a4a6e4f70ef7e
  HTML Author: Joe Mooring <joe.mooring@veriphor.com>
       Date:   Tue, 12 Mar 2024 11:16:05 -0700
       
       hugolib: Deprecate site methods Author, Authors, and Social
       
       Closes #12228
       
       Diffstat:
         M config/allconfig/allconfig.go       |       2 ++
         M hugolib/page__meta.go               |       8 ++++----
         M hugolib/site_new.go                 |       6 ++++++
         M resources/page/page.go              |       4 ++--
         M resources/page/page_author.go       |       3 +++
         M resources/page/page_nop.go          |       2 ++
         M resources/page/site.go              |      14 ++++++++++----
         M resources/page/testhelpers_test.go  |       2 ++
         M tpl/tplimpl/embedded/templates/ope… |      15 ++++-----------
         M tpl/tplimpl/embedded/templates/twi… |      22 +++++++---------------
       
       10 files changed, 42 insertions(+), 36 deletions(-)
       ---
   DIR diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go
       @@ -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.
   DIR diff --git a/hugolib/page__meta.go b/hugolib/page__meta.go
       @@ -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 {
       @@ -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
        }
        
   DIR diff --git a/hugolib/site_new.go b/hugolib/site_new.go
       @@ -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
        }
        
   DIR diff --git a/resources/page/page.go b/resources/page/page.go
       @@ -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
        }
        
   DIR diff --git a/resources/page/page_author.go b/resources/page/page_author.go
       @@ -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
       @@ -41,4 +43,5 @@ type Author struct {
        // - youtube
        // - linkedin
        // - skype
       +// Deprecated: Use taxonomies instead.
        type AuthorSocial map[string]string
   DIR diff --git a/resources/page/page_nop.go b/resources/page/page_nop.go
       @@ -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
        }
   DIR diff --git a/resources/page/site.go b/resources/page/site.go
       @@ -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.
       @@ -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.
       @@ -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)
        }
   DIR diff --git a/resources/page/testhelpers_test.go b/resources/page/testhelpers_test.go
       @@ -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
        }
   DIR diff --git a/tpl/tplimpl/embedded/templates/opengraph.html b/tpl/tplimpl/embedded/templates/opengraph.html
       @@ -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 }}
   DIR diff --git a/tpl/tplimpl/embedded/templates/twitter_cards.html b/tpl/tplimpl/embedded/templates/twitter_cards.html
       @@ -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 }}