Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A no-frills Merb wiki extracted from
Ruby JavaScript C
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app Added MerbExceptions plugin to facilitate e-mail notification of appl…
meta Added Ditz issue tracking to the repo, as well as importing all curre…
public Updated the README. Refactored some controller code.
.gitignore Theme stylesheets, site title, and site footer are now configurable i…
README.markdown Updated the README. Refactored some controller code.
Rakefile Froze dependencies that don't require compilation. Fixed a few specs.



A no-frills wiki built on Merb 0.9.x and DataMapper 0.9.x


  • Versioned pages
  • Textile/Markdown content formatting
  • Pretty page urls
  • Custom theme support
  • Integration with Defensio for Spam protection
  • Trusted user system based on OpenID

Take It For A Spin

  • $ git clone git://
  • $ cd collective
  • $ cp config/database.yml.sample config/database.yml
  • $ cp config/collective.yml.sample config/collective.yml
  • $ rake db:bootstrap
  • $ merb
  • Open a browser at http://localhost:4000/

Dependencies required

The commands below use the switch to ignore dependencies, as the needed dependencies are included in Collective's local gems repo.

Merb Core 0.9.5:

$ gem install merb-core -v 0.9.5 --ignore-dependencies

A Data Objects Database Adapter:

$ gem install do_sqlite3(or)do_mysql(or)do_postgres -v 0.9.5 --ignore-dependencies

ParseTree (Collective uses merb-action-args which depends on ParseTree):

$ gem install ParseTree

Spam Protection

Collective supports protection against spam using either the Akismet or Defensio API via Viking. By default this support is disabled. To enable support you will need to create a configuration file named spam_protection.yml in the config directory. A sample file is available for you in config/spam_protection.yml.sample.

Your configuration file must:

  • have the name of your desired spam protection service. Available options include: 'akismet', 'defensio', or blank (i.e. disabled).
  • have both your API key and 'blog' connection options included. See the documentation for your service of choice for details on these options.

Lend A Hand

Check out the bug tracker. Pull requests and patches are welcomed.

Something went wrong with that request. Please try again.