aboutsummaryrefslogtreecommitdiffstats
path: root/gum
diff options
context:
space:
mode:
authorJohannes Reinhardt <jreinhardt@ist-dein-freund.de>2014-07-14 16:23:19 +0200
committerJohannes Reinhardt <jreinhardt@ist-dein-freund.de>2014-07-14 16:33:30 +0200
commita004f515dd8c9802a3b9c519ff5a5151f45cb5b6 (patch)
tree7ff6f228f4f70cf84773182e35c42eef9f5c5fd6 /gum
parent06532aa2d45fac14131fa360cf5daaa842def8e1 (diff)
downloadpelican-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.md6
-rw-r--r--gum/templates/article.html56
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 -->