module Octopress::Social::Disqus

Constants

DEFAULTS

Attributes

config[RW]
url[RW]

Public Instance Methods

disqus_comments(site, item) click to toggle source
# File lib/octopress-social/disqus.rb, line 30
def disqus_comments(site, item)
  if item['comments'] != false
    %Q{<div id="disqus_thread"></div>
      <script type="text/javascript">
        var disqus_shortname = '#{config['shortname']}';
        var disqus_url = '#{url}';
        var disqus_identifier = '#{identifier(site, item)}';
        var disqus_title = '#{item['title']}';
        #{embed_script('embed')}
      </script>
      <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
    }
  else
    ''
  end
end
embed_script(script) click to toggle source
# File lib/octopress-social/disqus.rb, line 47
def embed_script(script)
  %Q{(function () {
      var s = document.createElement('script'); s.async = true;
      s.type = 'text/javascript';
      s.src = '//#{config['shortname']}.disqus.com/#{script}.js';
      (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
    }());
  }
end
identifier(site, item) click to toggle source
# File lib/octopress-social/disqus.rb, line 26
def identifier(site, item)
  item['disqus_identifier'] || url
end
set_config(site) click to toggle source
# File lib/octopress-social/disqus.rb, line 15
def set_config(site)
  @config ||= begin
    config = site['octopress_social'] || site
    DEFAULTS.merge(config['disqus'] || {})
  end
end
set_url(site, item) click to toggle source
# File lib/octopress-social/disqus.rb, line 22
def set_url(site, item)
  @url = Social.full_url(site, item)
end