diff options
Diffstat (limited to 'gum/templates/article.html')
-rw-r--r-- | gum/templates/article.html | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/gum/templates/article.html b/gum/templates/article.html index 15188d0..e6f1288 100644 --- a/gum/templates/article.html +++ b/gum/templates/article.html @@ -41,10 +41,64 @@ </script> </div> {% endif %} + {% if JUVIA_ID %} + <h3>Comments</h3> + <div id="comments"></div> + <script type="text/javascript" class="juvia"> + (function() { + var options = { + container : '#comments', + site_key : '{{ JUVIA_ID }}', + topic_key : location.pathname, + topic_url : location.href, + topic_title : '{{article.title}}', + comment_order: 'earliest-first', + include_base: !window.Juvia, + include_css : !window.Juvia + }; + + function makeQueryString(options) { + var key, params = []; + for (key in options) { + params.push( + encodeURIComponent(key) + + '=' + + encodeURIComponent(options[key])); + } + return params.join('&'); + } + + function makeApiUrl(options) { + // Makes sure that each call generates a unique URL, otherwise + // the browser may not actually perform the request. + if (!('_juviaRequestCounter' in window)) { + window._juviaRequestCounter = 0; + } + + // or use '//{{ JUVIA_URL }}/api/show_topic.js' + // for dynamic switching between http and https + var result = + '//{{ JUVIA_URL }}/api/show_topic.js' + + '?_c=' + window._juviaRequestCounter + + '&' + makeQueryString(options); + window._juviaRequestCounter++; + return result; + } + + var s = document.createElement('script'); + s.async = true; + s.type = 'text/javascript'; + s.className = 'juvia'; + s.src = makeApiUrl(options); + (document.getElementsByTagName('head')[0] || + document.getElementsByTagName('body')[0]).appendChild(s); + })(); + </script> + {% endif %} </div><!-- /.eleven.columns --> - + {% include 'sidebar.html' %} </div><!-- /.row --> |