Skip to content

Commit

Permalink
[gum] Add support for Juvia comments
Browse files Browse the repository at this point in the history
  • Loading branch information
jreinhardt committed Jul 14, 2014
1 parent 06532aa commit a004f51
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
6 changes: 5 additions & 1 deletion gum/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 ###

Expand Down
56 changes: 55 additions & 1 deletion gum/templates/article.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,64 @@ <h3>Comments</h3>
</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 -->

Expand Down

0 comments on commit a004f51

Please sign in to comment.