diff options
author | Johannes Reinhardt <jreinhardt@ist-dein-freund.de> | 2014-07-14 16:23:19 +0200 |
---|---|---|
committer | Johannes Reinhardt <jreinhardt@ist-dein-freund.de> | 2014-07-14 16:33:30 +0200 |
commit | a004f515dd8c9802a3b9c519ff5a5151f45cb5b6 (patch) | |
tree | 7ff6f228f4f70cf84773182e35c42eef9f5c5fd6 /gum | |
parent | 06532aa2d45fac14131fa360cf5daaa842def8e1 (diff) | |
download | pelican-themes-a004f515dd8c9802a3b9c519ff5a5151f45cb5b6.zip pelican-themes-a004f515dd8c9802a3b9c519ff5a5151f45cb5b6.tar.gz pelican-themes-a004f515dd8c9802a3b9c519ff5a5151f45cb5b6.tar.bz2 |
[gum] Add support for Juvia comments
Diffstat (limited to 'gum')
-rw-r--r-- | gum/README.md | 6 | ||||
-rw-r--r-- | gum/templates/article.html | 56 |
2 files changed, 60 insertions, 2 deletions
diff --git a/gum/README.md b/gum/README.md index ffaefb3..5a01f2b 100644 --- a/gum/README.md +++ b/gum/README.md @@ -31,8 +31,12 @@ PIWIK_ID = '' PIWIK_URL = '' ``` +To use Juvia for comments, fill out the following values, again the url without leading `http://` and trailing `/`. - +``` +JUVIA_URL = '' +JUVIA_ID = '' +``` ### Screenshot ### 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 --> |