mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
hugolib: Deprecate .Site.DisqusShortname
Use .Site.Config.Services.Disqus.Shortname instead.
This commit is contained in:
parent
625162674d
commit
2eca1b3cc1
6 changed files with 19 additions and 13 deletions
|
@ -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:
|
Disqus comments require you set a single value in your [site's configuration file][configuration] like so:
|
||||||
|
|
||||||
{{< code-toggle copy=false >}}
|
{{< code-toggle file="hugo" >}}
|
||||||
disqusShortname = "yourDisqusShortname"
|
[services.disqus]
|
||||||
|
shortname = 'your-disqus-shortname'
|
||||||
{{</ code-toggle >}}
|
{{</ 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:
|
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:
|
||||||
|
|
|
@ -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:
|
To use Hugo's Disqus template, first set up a single configuration value:
|
||||||
|
|
||||||
{{< code-toggle file="hugo" >}}
|
{{< code-toggle file="hugo" >}}
|
||||||
disqusShortname = "your-disqus-shortname"
|
[services.disqus]
|
||||||
|
shortname = 'your-disqus-shortname'
|
||||||
{{</ code-toggle >}}
|
{{</ 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:
|
You can also set the following in the front matter for a given piece of content:
|
||||||
|
|
||||||
* `disqus_identifier`
|
* `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" . }}
|
{{ template "_internal/disqus.html" . }}
|
||||||
```
|
```
|
||||||
|
|
||||||
A `.Site.DisqusShortname` variable is also exposed from the configuration.
|
|
||||||
|
|
||||||
### Conditional loading of Disqus comments
|
### 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.
|
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;
|
return;
|
||||||
|
|
||||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
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';
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -35,9 +35,6 @@ All the methods below, e.g. `.Site.RegularPages` can also be reached via the glo
|
||||||
.Site.Data
|
.Site.Data
|
||||||
: custom data, see [Data Templates](/templates/data-templates/).
|
: 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
|
.Site.Home
|
||||||
: reference to the homepage's [page object](/variables/page/)
|
: reference to the homepage's [page object](/variables/page/)
|
||||||
|
|
||||||
|
|
|
@ -447,8 +447,9 @@ func (s *Site) Social() map[string]string {
|
||||||
return s.conf.Social
|
return s.conf.Social
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(bep): deprecate.
|
// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead
|
||||||
func (s *Site) DisqusShortname() string {
|
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.Config().Services.Disqus.Shortname
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -298,6 +298,7 @@ func (s *siteWrapper) IsMultiLingual() bool {
|
||||||
return s.s.IsMultiLingual()
|
return s.s.IsMultiLingual()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead
|
||||||
func (s *siteWrapper) DisqusShortname() string {
|
func (s *siteWrapper) DisqusShortname() string {
|
||||||
return s.s.DisqusShortname()
|
return s.s.DisqusShortname()
|
||||||
}
|
}
|
||||||
|
@ -440,6 +441,7 @@ func (testSite) GetPageWithTemplateInfo(info tpl.Info, ref ...string) (Page, err
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use .Site.Config.Services.Disqus.Shortname instead
|
||||||
func (testSite) DisqusShortname() string {
|
func (testSite) DisqusShortname() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{- $pc := .Site.Config.Privacy.Disqus -}}
|
{{- $pc := .Site.Config.Privacy.Disqus -}}
|
||||||
{{- if not $pc.Disable -}}
|
{{- 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">
|
<script type="application/javascript">
|
||||||
window.disqus_config = function () {
|
window.disqus_config = function () {
|
||||||
{{with .Params.disqus_identifier }}this.page.identifier = '{{ . }}';{{end}}
|
{{with .Params.disqus_identifier }}this.page.identifier = '{{ . }}';{{end}}
|
||||||
|
@ -13,11 +13,11 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var d = document, s = d.createElement('script'); s.async = true;
|
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());
|
s.setAttribute('data-timestamp', +new Date());
|
||||||
(d.head || d.body).appendChild(s);
|
(d.head || d.body).appendChild(s);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
<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}}
|
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>{{end}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
Loading…
Reference in a new issue