Use .Site.Config.Services.Disqus.Shortname instead.
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'
{{</ code-toggle >}}
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:
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'
{{</ code-toggle >}}
+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`
{{ 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.
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);
})();
.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/)
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
}
return s.s.IsMultiLingual()
}
+// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead
func (s *siteWrapper) DisqusShortname() string {
return s.s.DisqusShortname()
}
return nil, nil
}
+// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead
func (testSite) DisqusShortname() string {
return ""
}
{{- $pc := .Site.Config.Privacy.Disqus -}}
{{- if not $pc.Disable -}}
-{{ if .Site.DisqusShortname }}<div id="disqus_thread"></div>
+{{ if .Site.Config.Services.Disqus.Shortname }}<div id="disqus_thread"></div>
<script type="application/javascript">
window.disqus_config = function () {
{{with .Params.disqus_identifier }}this.page.identifier = '{{ . }}';{{end}}
return;
}
var d = document, s = d.createElement('script'); s.async = true;
- s.src = '//' + {{ .Site.DisqusShortname }} + '.disqus.com/embed.js';
+ s.src = '//' + {{ .Site.Config.Services.Disqus.Shortname }} + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>{{end}}
-{{- end -}}
\ No newline at end of file
+{{- end -}}