Sha256: 012f5f2819f7ba2cafcc0998bd50ddd4c55caafd415d9ad29668148a9cf8cd84

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

require 'alula/plugin'

module Alula
  class Disqus
    def self.path
      File.join(File.dirname(__FILE__), %w{.. .. .. plugins disqus})
    end
    
    def self.install(options)
      return false unless options.shortname
      # Force defer mode on script loading
      # Alula::Plugin.script_load_mode = :defer
      
      # Add Emphasis -powered link to footer
      Alula::Plugin.addon(:post_bottom, ->(context) {
        <<-EOS
        <script type="text/javascript">
        var disqus_shortname = '#{options['shortname']}';
        var disqus_identifier = '#{context.item.metadata.disqus_identifier || context.item.slug}';
        (function() {
          var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
          dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
          (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
          })();
        </script>
        <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
        EOS
      }
      )
    end
  end
end

Alula::Plugin.register :disqus, Alula::Disqus

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alula-plugins-0.4.2 lib/alula/plugins/disqus.rb
alula-plugins-0.4.1 lib/alula/plugins/disqus.rb
alula-plugins-0.4.0 lib/alula/plugins/disqus.rb