Add a partial with Disqus
Create a file _includes/disqus.html
with following content. Then you need to replace YOUR_DISQUS_NAME
with shortname that is identifying your website on Disqus.
{% if page.comments %} <div id="disqus_thread"></div> <script> var disqus_shortname = YOUR_DISQUS_NAME; var disqus_config = function () { this.page.url = "{{page.url | absolute_url }}"; this.page.identifier = "{{page.id}}"; }; (function() { var d = document, s = d.createElement('script'); s.src = 'https://' + 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> {% endif %}
Create a layout with comments
In folder _layouts
create a new HTML file blog.html
. This layout will be extending default post layout with previously created partial.
--- layout: 'post' --- {{ content }} {% include disqus.html %}
Configure the new layout for all your posts
Now all you need to do to enable Disqus in your post is:
- set
blog
as default layout for your posts, - enable flag
comments
by default.
To do so append file _config.yml
with that configuration.
defaults: - scope: path: "" type: "posts" values: layout: "blog" comments: true
How to disable comments in selected post
Change comments
flag to false
at the begging of post file.
--- title: "My post without comments" comments: false ---
Top comments (0)