Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Rails-based forum engine, heavily opinionated: only OpenID, no (sub)forums but only tags

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 test
Octocat-spinner-32 vendor Freeze Rails, tags controller, view improvements. August 02, 2008
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.markdown
Octocat-spinner-32 Rakefile

Opinionated Rails Forum

This is a rails-based forum engine with some strong opinions:

  • Authentication is OpenID, makes new profile if not exists
  • There are no forums/subforums
  • Topics are tagged
  • Tags are lowercase. By definition
  • Everyone can edit tags for a topic
  • A user is either normal or admin, no moderators
  • Avatars are gravatars
  • No smilies or sigs


There are two kinds of topics:

  • Normal: These topics always show their entire contents.

  • Continuous: These topics are more like a chat room than like a forum topic. They show only the latest 30 or so messages, and provide you with a paginated archive when you really need the history.


  • Mark some tags as usable only by admins
  • Remove UsersController#destroy
  • Admin: option to split topics
  • Only admins and users themselves should be able to edit a user's profile
  • Only admins should have the Admin checkbox on profile editing
  • Reserve tag editing for original poster and admins
  • Replace Markdown with whitelisted HTML
  • Replace Prototype with unobtrusive JavaScript
  • Create Search page using Google Site Search
  • Give users a text box to add their own profile info
  • When switching message modes, preserve message
  • In large message mode, post/cancel buttons overlap right column
Something went wrong with that request. Please try again.