Ajouter des commentaires via disqus

Script de configuration

Pour permettre le chargement de la zone de commentaires créée par disqus, il faut créer un template en créant le fichier : themes/lanyon-hugo/layouts/partials/disqus.html.

Ce fichier doit contenir le code suivant (code récupéré sur le site de hugo). Le code est spécifique pour permettre le chargement des commentaires, uniquement si le serveur ne tourne pas sur localhost.

<div id="disqus_thread"></div>
<script type="text/javascript">

(function() {
    // Don't ever inject Disqus on localhost--it creates unwanted
    // discussions from 'localhost:1313' on your Disqus account...
    if (window.location.hostname == "localhost")
        return;

    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    var disqus_shortname = '{{ .Site.DisqusShortname }}';
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

Template

Il faut maintenant mettre une référence vers ce template dans le template de la page qui devra contenir la zone disqus :

dans le fichier themes/lanyon-hugo/layouts/_default/single.html, ajouter :

{{ partial "disqus.html" . }}

de telle sorte que le contenu soit :

{{ partial "default_head.html" . }}

<div class="post">
  <h1 class="post-title">{{ .Title }}</h1>
  <span class="post-date">{{ .Date.Format .Site.Params.DateForm }}</span>
  {{ .Content }}
</div>

{{ partial "disqus.html" . }}
{{ partial "default_foot.html" . }}

disqusShortname

Enfin, ajouter aux paramètres du site, dans le fichier config.toml

disqusShortname = "le_nom_indique_par_disqus lors de l'inscription du disqus"
comments powered by Disqus