diff options
author | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-09-21 13:37:59 +0200 |
---|---|---|
committer | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-09-21 14:09:48 +0200 |
commit | 2a30d9a1eb5219e5335d1afdd214204d61ea6367 (patch) | |
tree | 6f5c9cb556bd1b5aa46d93cd0a128e087abe5485 /.themes/classic/source/_includes/disqus.html | |
parent | b2828eb039ddc7c0108b6af06ca7f5d8c87a5459 (diff) | |
download | my_new_personal_website-2a30d9a1eb5219e5335d1afdd214204d61ea6367.tar.xz my_new_personal_website-2a30d9a1eb5219e5335d1afdd214204d61ea6367.zip |
Refactored inclusion of disqus script
- Added ARIA setting `aria-live="polite"` to comment output
- Removed duplicate <div id="disqus_thread"> from page/post templates
- Moved blocking JavaScript loading to the end of the document body.
- Merged JavaScript code for index and pages/posts using conditionals
- Moved global JavaScript disqus variables into the anonymous function to stop pollution of global namespace
Diffstat (limited to '.themes/classic/source/_includes/disqus.html')
-rw-r--r-- | .themes/classic/source/_includes/disqus.html | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/.themes/classic/source/_includes/disqus.html b/.themes/classic/source/_includes/disqus.html new file mode 100644 index 00000000..4b913534 --- /dev/null +++ b/.themes/classic/source/_includes/disqus.html @@ -0,0 +1,22 @@ +{% comment %} Load script if disquss comments are enabled and `page.comments` is either empty (index) or set to true {% endcomment %} +{% if site.disqus_short_name and page.comments != false %} +<script type="text/javascript"> + (function () { + var disqus_shortname = '{{ site.disqus_short_name }}'; + {% if page.comments == true %} + {% comment %} `page.comments` can be only be set to true on pages/posts, so we embed the comments here. {% endcomment %} + // var disqus_developer = 1; + var disqus_identifier = '{{ site.url }}{{ page.url }}'; + var disqus_url = '{{ site.url }}{{ page.url }}'; + var disqus_script = 'embed.js' + {% else %} + {% comment %} As `page.comments` is empty, we must be on the index page. {% endcomment %} + var disqus_script = 'count.js' + {% endif %} + + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + }()); +</script> +{% endif %} |