norman / disqus

A Ruby library for the Disqus commenting API and Javascript widgets.

This URL has Read+Write access

disqus /
name age message
file .gitignore Sat Jan 17 12:31:07 -0800 2009 Fix up manifest and gemspec to ignore config.ym... [qhoxie]
file History.txt Loading commit data...
file MIT-LICENSE Tue Aug 26 13:05:52 -0700 2008 Initial commit. [Norman Clarke]
file Manifest.txt
file README.rdoc Sat Jan 17 12:31:09 -0800 2009 Update readme to reflect merb example and avail... [qhoxie]
file Rakefile
directory config/ Mon Jan 05 07:58:13 -0800 2009 Reorganized files to use newgem. [Norman Clarke]
file disqus.gemspec
file init.rb Mon Jan 05 07:58:13 -0800 2009 Reorganized files to use newgem. [Norman Clarke]
directory lib/
directory tasks/ Mon Jan 05 07:58:13 -0800 2009 Reorganized files to use newgem. [Norman Clarke]
directory test/ Mon Jan 05 07:58:13 -0800 2009 Reorganized files to use newgem. [Norman Clarke]
README.rdoc

Disqus Ruby Gem

The Disqus Gem helps you easily integrate the Disqus commenting system into your website. It works for any site programmed in Ruby, and has view helpers for Rails and Merb.

Support for the Disqus Javascript widgets is stable. Disqus API support is "beta."

What is Disqus?

From the Disqus website:

"Disqus, pronounced "discuss", is a service and tool for web comments and discussions. The Disqus comment system can be plugged into any website, blog, or application. Disqus makes commenting easier and more interactive, while connecting websites and commenters across a thriving discussion community."

"Disqus is a free service to the general public with absolutely no inline advertisements."

Get it

  gem install disqus

Bleeding Edge

  gem install norman-disqus  --source http://gems.github.com

Use it:

Configure it:

Generic example:
  Disqus::defaults[:account] = "my_disqus_account"
  # Optional, only if you're using the API
  Disqus::defaults[:api_key] = "my_disqus_api_key"
Rails example:
  # in config/development.rb (or production.rb, test.rb, etc.)
  config.after_initialize do
    Disqus::defaults[:account] = "my_disqus_account"
    # Optional, only if you're using the API
    Disqus::defaults[:api_key] = "my_disqus_api_key"
  end

Note that here the "after initialize" is necessary, otherwise your settings won’t be set properly.

Merb example:
  # in config/init.rb
  Merb::BootLoader.after_app_loads do
    Disqus::defaults[:account] = "my_disqus_account"
    # Optional, only if you're using the API
    Disqus::defaults[:api_key] = "my_disqus_api_key"
  end

Note that here the "after_app_loads" is necessary, otherwise your settings won’t be set properly.

Options
  :api_key => "" # your api key
  :account => "", # your disqus account
  :developer => false, # allows for threads to work on localhost
  :container_id => 'disqus_thread', # desired thread container
  :avatar_size => 48, # squared pixel size of avatars
  :color => "grey", # theme color
  :default_tab => "popular", # default widget tab
  :hide_avatars => false, # hide or show avatars
  :hide_mods => true, # hide or show moderation
  :num_items => 15, # number of comments to display
  :show_powered_by => true, # show or hide powered by line
  :orientation => "horizontal" # comment orientation

Show the comment threads widget on a post page:

  # Loads the commenting system
  disqus_thread

  # Or if you're not using Rails/Merb:
  Disqus::Widget::thread

  # Sets the inner html to the comment count for any links on the page that
  # have the anchor "disqus_thread". For example, "View Comments" below would
  # be replaced by "1 comment" or "23 comments" etc.
  # <a href="http://my.website/article-permalink#disqus_thread">View Comments</a>
  # <a href="http://my.website/different-permalink#disqus_thread">View Comments</a>
  disqus_comment_counts

  # Or if you're not using Rails/Merb:
  Disqus::Widget::comment_counts

Show the combo widget on a post page:

  disqus_combo(:color => "blue", :hide_mods => false, :num_items => 20)

  # Or for non-Rails/Merb:
  Disqus::Widget::combo(:color => "blue", :hide_mods => false, :num_items => 20)

Show the comment count on a permalink:

  link_to("Permalink", post_path(@post, :anchor => "disqus_thread"))
  ...
  disqus_comment_counts

  # Or for non-Rails/Merb:
  Disqus::Widget::comment_counts

Work with the Disqus API:

See the Disqus::Api class for more info on the Disqus API. You can also read the Disqus developer info here.

Hack it:

Github repository:

  http://github.com/norman/disqus

Submit bug reports:

Please use our Lighthouse.

Learn more about Disqus:

disqus.com

Thanks to the following contributors:

Legal Stuff

The Disqus Ruby gem was not created by, nor is officially supported by Disqus.com or Big Head Labs, Inc. Use it at your own risk and your own responsibility under the terms of the MIT License.

Copyright © 2008 Norman Clarke, released under the MIT license