ソースを参照

Fix disqus comments code

Add support of disqus_identifier for each article.
Talha Mansoor 11 年 前
コミット
975ecbaa5e
共有3 個のファイルを変更した25 個の追加13 個の削除を含む
  1. 6 2
      templates/comments.html
  2. 15 8
      templates/disqus_script_comment.html
  3. 4 3
      templates/disqus_script_count.html

+ 6 - 2
templates/comments.html

@@ -2,12 +2,16 @@
 <section>
 {% if COMMENTS_INTRO %}
 <hr/>
-<p id="comment-message">{{ ELEGANT_COMMENT_MESSAGE }} </p>
+<p id="comment-message">{{ COMMENTS_INTRO }} </p>
 {% endif %}
 <div class="accordion" id="accordion2">
     <div class="accordion-group">
         <div class="accordion-heading">
-            <a class="accordion-toggle disqus-comment-count" data-toggle="collapse" data-parent="#accordion2" href="http://hackercodex.com/guide/install-fish-shell-mac-ubuntu/#disqus_thread">
+            <a class="accordion-toggle disqus-comment-count" data-toggle="collapse" data-parent="#accordion2" 
+                {% if article.disqus_identifier %}
+                    data-disqus-identifier="{{ article.disqus_identifier }}"
+                {% endif %}
+                href="{{ SITEURL }}/{{ article.url }}/#disqus_thread">
                 Comments
             </a>
         </div>

+ 15 - 8
templates/disqus_script_comment.html

@@ -1,11 +1,18 @@
 <div id="disqus_thread"></div>
 <script type="text/javascript">
-    var disqus_identifier = "guide/install-fish-shell-mac-ubuntu/";
-    var disqus_url = "{{ SITEURL }}/{{ article.url }}";
-    (function() {
-     var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-     dsq.src = 'http://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
-     (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-     })(); 
- </script>
+    var disqus_shortname = '{{ DISQUS_SITENAME }}';
+    {% if article.disqus_identifier %}
+        var disqus_identifier = '{{ article.disqus_identifier }}';
+    {% else %}
+        var disqus_identifier = '{{ SITEURL }}/{{ article.url }}';
+    {% endif %}
+    var disqus_url = '{{ SITEURL }}/{{ article.url }}';
 
+    (function() {
+         var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+         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>

+ 4 - 3
templates/disqus_script_count.html

@@ -1,11 +1,12 @@
-{% if DISQUS_SITENAME %}
+{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %}
 <script type="text/javascript">
     var disqus_shortname = '{{ DISQUS_SITENAME }}';
+
     (function () {
         var s = document.createElement('script'); s.async = true;
         s.type = 'text/javascript';
-        s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
+        s.src = '//' + disqus_shortname + '.disqus.com/count.js';
         (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
     }());
-</script>
+    </script>
 {% endif %}