aboutsummaryrefslogtreecommitdiff
path: root/.themes/classic/source/_includes
diff options
context:
space:
mode:
authorFrederic Hemberger <mail@frederic-hemberger.de>2011-09-21 13:37:59 +0200
committerFrederic Hemberger <mail@frederic-hemberger.de>2011-09-21 14:09:48 +0200
commit2a30d9a1eb5219e5335d1afdd214204d61ea6367 (patch)
tree6f5c9cb556bd1b5aa46d93cd0a128e087abe5485 /.themes/classic/source/_includes
parentb2828eb039ddc7c0108b6af06ca7f5d8c87a5459 (diff)
downloadmy_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')
-rw-r--r--.themes/classic/source/_includes/disqus.html22
-rw-r--r--.themes/classic/source/_includes/post/disqus_thread.html12
2 files changed, 22 insertions, 12 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 %}
diff --git a/.themes/classic/source/_includes/post/disqus_thread.html b/.themes/classic/source/_includes/post/disqus_thread.html
index f966f03a..b1acd8cc 100644
--- a/.themes/classic/source/_includes/post/disqus_thread.html
+++ b/.themes/classic/source/_includes/post/disqus_thread.html
@@ -1,13 +1 @@
-<div id="disqus_thread"></div>
-<script type="text/javascript">
- var disqus_shortname = '{{ site.disqus_short_name }}';
- var disqus_identifier = '{{ site.url }}{{ page.url }}';
- var disqus_url = '{{ site.url }}{{ page.url }}';
- //var disqus_developer = 1;
- (function() {
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
- dsq.src = 'http://' + 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>