From 2eca1b3cc1cd03fee40c0abcdc61dab1016c0475 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Mon, 16 Oct 2023 10:56:37 -0700 Subject: [PATCH] hugolib: Deprecate .Site.DisqusShortname Use .Site.Config.Services.Disqus.Shortname instead. --- docs/content/en/content-management/comments.md | 5 +++-- docs/content/en/templates/internal.md | 13 +++++++++---- docs/content/en/variables/site.md | 3 --- hugolib/site_new.go | 3 ++- resources/page/site.go | 2 ++ tpl/tplimpl/embedded/templates/disqus.html | 6 +++--- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/docs/content/en/content-management/comments.md b/docs/content/en/content-management/comments.md index df9453c48..39663013b 100644 --- a/docs/content/en/content-management/comments.md +++ b/docs/content/en/content-management/comments.md @@ -24,8 +24,9 @@ Hugo comes with all the code you need to load Disqus into your templates. Before Disqus comments require you set a single value in your [site's configuration file][configuration] like so: -{{< code-toggle copy=false >}} -disqusShortname = "yourDisqusShortname" +{{< code-toggle file="hugo" >}} +[services.disqus] +shortname = 'your-disqus-shortname' {{}} For many websites, this is enough configuration. However, you also have the option to set the following in the [front matter] of a single content file: diff --git a/docs/content/en/templates/internal.md b/docs/content/en/templates/internal.md index 52e846007..9118184e8 100644 --- a/docs/content/en/templates/internal.md +++ b/docs/content/en/templates/internal.md @@ -55,9 +55,16 @@ Hugo also ships with an internal template for [Disqus comments][disqus], a popul To use Hugo's Disqus template, first set up a single configuration value: {{< code-toggle file="hugo" >}} -disqusShortname = "your-disqus-shortname" +[services.disqus] +shortname = 'your-disqus-shortname' {{}} +Hugo's Disqus template accesses this value with: + +```go-html-template +{{ .Site.Config.Services.Disqus.Shortname }} +``` + You can also set the following in the front matter for a given piece of content: * `disqus_identifier` @@ -72,8 +79,6 @@ To add Disqus, include the following line in the templates where you want your c {{ template "_internal/disqus.html" . }} ``` -A `.Site.DisqusShortname` variable is also exposed from the configuration. - ### Conditional loading of Disqus comments Users have noticed that enabling Disqus comments when running the Hugo web server on `localhost` (i.e. via `hugo server`) causes the creation of unwanted discussions on the associated Disqus account. @@ -91,7 +96,7 @@ You can create the following `layouts/partials/disqus.html`: return; var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - var disqus_shortname = '{{ .Site.DisqusShortname }}'; + var disqus_shortname = '{{ .Site.Config.Services.Disqus.Shortname }}'; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); diff --git a/docs/content/en/variables/site.md b/docs/content/en/variables/site.md index 4605b9a42..55e9a7512 100644 --- a/docs/content/en/variables/site.md +++ b/docs/content/en/variables/site.md @@ -35,9 +35,6 @@ All the methods below, e.g. `.Site.RegularPages` can also be reached via the glo .Site.Data : custom data, see [Data Templates](/templates/data-templates/). -.Site.DisqusShortname -: a string representing the shortname of the Disqus shortcode as defined in the site configuration. - .Site.Home : reference to the homepage's [page object](/variables/page/) diff --git a/hugolib/site_new.go b/hugolib/site_new.go index d582b1b79..b35de79ef 100644 --- a/hugolib/site_new.go +++ b/hugolib/site_new.go @@ -447,8 +447,9 @@ func (s *Site) Social() map[string]string { return s.conf.Social } -// TODO(bep): deprecate. +// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead func (s *Site) DisqusShortname() string { + helpers.Deprecated(".Site.DisqusShortname", "Use .Site.Config.Services.Disqus.Shortname instead.", false) return s.Config().Services.Disqus.Shortname } diff --git a/resources/page/site.go b/resources/page/site.go index 527bc5046..ba2759a06 100644 --- a/resources/page/site.go +++ b/resources/page/site.go @@ -298,6 +298,7 @@ func (s *siteWrapper) IsMultiLingual() bool { return s.s.IsMultiLingual() } +// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead func (s *siteWrapper) DisqusShortname() string { return s.s.DisqusShortname() } @@ -440,6 +441,7 @@ func (testSite) GetPageWithTemplateInfo(info tpl.Info, ref ...string) (Page, err return nil, nil } +// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead func (testSite) DisqusShortname() string { return "" } diff --git a/tpl/tplimpl/embedded/templates/disqus.html b/tpl/tplimpl/embedded/templates/disqus.html index ca5118608..d90a52586 100644 --- a/tpl/tplimpl/embedded/templates/disqus.html +++ b/tpl/tplimpl/embedded/templates/disqus.html @@ -1,6 +1,6 @@ {{- $pc := .Site.Config.Privacy.Disqus -}} {{- if not $pc.Disable -}} -{{ if .Site.DisqusShortname }}
+{{ if .Site.Config.Services.Disqus.Shortname }}
comments powered by Disqus{{end}} -{{- end -}} \ No newline at end of file +{{- end -}}