{"id":13462994,"url":"https://github.com/rubysherpas/forem","last_synced_at":"2025-12-16T21:08:10.199Z","repository":{"id":40461997,"uuid":"1390405","full_name":"rubysherpas/forem","owner":"rubysherpas","description":"The best Rails 3 and Rails 4 forum engine. Ever.","archived":false,"fork":false,"pushed_at":"2016-10-05T12:45:05.000Z","size":26474,"stargazers_count":1549,"open_issues_count":47,"forks_count":421,"subscribers_count":52,"default_branch":"rails4","last_synced_at":"2025-04-01T00:33:59.386Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://forem.herokuapp.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubysherpas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-02-20T21:16:22.000Z","updated_at":"2025-02-23T12:20:11.000Z","dependencies_parsed_at":"2022-07-18T01:30:47.092Z","dependency_job_id":null,"html_url":"https://github.com/rubysherpas/forem","commit_stats":null,"previous_names":["radar/forem"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubysherpas%2Fforem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubysherpas%2Fforem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubysherpas%2Fforem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubysherpas%2Fforem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubysherpas","download_url":"https://codeload.github.com/rubysherpas/forem/tar.gz/refs/heads/rails4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247761051,"owners_count":20991531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T13:00:43.597Z","updated_at":"2025-12-16T21:08:04.822Z","avatar_url":"https://github.com/rubysherpas.png","language":"Ruby","readme":"## No longer maintained\n\n**I put the word out for people to contact me if they'd like to maintain this for me. Quite a few people contacted me, and I added those people as maintainers. No further work got done.**\n\n**Therefore, I have no choice but to mark this project as unmaintained. I have removed all other maintainers as a result.**\n\n**This project is no longer accepting pull requests or issues.**\n\nIf you would like a better maintained forum system, please use [Thredded](https://github.com/thredded/thredded).\n\n----\n\n\n![Forem - using Bootstrap](https://raw.githubusercontent.com/radar/forem/rails4/doc/theme.png)\n\n*Forem, using the forem-bootstrap theme*\n\n# Forem [![Build Status](https://travis-ci.org/rubysherpas/forem.svg)](https://travis-ci.org/rubysherpas/forem)\n*\"NO U!\"*\n\n\n\nForem is an engine for Rails that aims to be the best little forum system ever.\nThe end goal is to have an engine that can be dropped into an application that\nprovides the basic functionality of forums, topics and posts.\n\n# Demo\n\nA demo application can be found at [http://forem.heroku.com](http://forem.heroku.com), and the source for this application can be found on the [forem.heroku.com\nrepository](http://github.com/radar/forem.heroku.com)\n\n# Installation\n\nInstalling Forem is easy.\n\n## Specify Gem dependencies\n\nIf you're using Rails 3:\n\n```ruby\ngem 'forem', :github =\u003e \"radar/forem\", :branch =\u003e \"rails3\"\n```\n\nFor Rails 4, use the `rails4` branch:\n\n```ruby\ngem 'forem', :github =\u003e \"radar/forem\", :branch =\u003e \"rails4\"\n```\n\nAnd then one of `kaminari` or `will_paginate`\n```ruby\ngem 'kaminari', '0.15.1'\n# OR\ngem 'will_paginate', '3.0.5'\n```\n\n## Run the installer\n\n**Ensure that you first of all have a `User` model and some sort of authentication system set up**. We would recommend going with [Devise](http://github.com/plataformatec/devise), but it's up to\nyou. All Forem needs is a model to link topics and posts to.\n\nRun the installer and answer any questions that pop up. There's sensible defaults there if you don't want to answer them.\n\n```shell\nrails g forem:install\n```\n\n## Set up helper methods in your user model\n\nForem uses a `forem_name` (which defaults as `to_s`) method being available on your `User` model so that it can display the user's name in posts. Define it in your model like this:\n\n```ruby\ndef forem_name\n  name\nend\n```\n\nPlease note that if you are using Devise, User model does not have `name` column by default,\nso you either should use custom migration to add it or use another column (`email` for example).\n\nIt also uses an optional `forem_email` method for displaying avatars using [Gravatar](http://gravatar.com). It defaults to `email`. If you don't have an `email` attribute on the model, define a new method:\n\n```ruby\ndef forem_email\n  email_address\nend\n```\n\n## Require basic Forem assets\n\nAdd this line to your `application.js` file to load required JavaScript files:\n\n```js\n//= require forem\n```\n\nAdd this line to your `application.css` to apply required styling:\n\n```css\n*= require 'forem/base'\n```\n\n## Specify formatter to use\n\nIf you want to provide users with an extended formatting capability, you should pick a [formatter](https://github.com/radar/forem/wiki/Formatters) to use. If you do not use a formatter users will not be able to insert newlines in their posts and do some other fancy stuff, however quoting will work fine.\n\nAnd you're done! Yaaay!\n\nFor more information on installing, please [see the \"Installation\" wiki\npage](https://github.com/radar/forem/wiki/Installing---Upgrading)\n\n## Features\n\nHere's a comprehensive list of the features currently in Forem:\n\n* Forums\n  * CRUD operations (provided by an admin backend)\n* Topics\n  * Viewing all topics for a forum\n  * Creating of new topics\n  * Editing topics\n  * Deleting own topics\n  * Locking topics\n  * Hiding topics\n  * Pinning topics\n* Posts\n  * Replying to topics\n  * Deleting own posts\n  * Blocking replies to locked topics\n  * Editing posts\n* Text Formatting\n  * Posts are HTML escaped and pre tagged by default.\n  * [Pluggable formatters for other behaviour (Markdown, Textile)](https://github.com/radar/forem/wiki/Formatters)\n  * :point_right: :tada: [:emoji:](http://www.emoji-cheat-sheet.com/) :tada: :point_left:\n* [Theme support](https://github.com/radar/forem/wiki/Theming)\n* [A flexible permissions system](https://github.com/radar/forem/wiki/Authorization-System)\n* [Translations](https://github.com/radar/forem/wiki/Translations)\n* [Flexible configuration](https://github.com/radar/forem/wiki/Configuration)\n* [Integration with\n  Refinery CMS](https://github.com/radar/forem/wiki/Integration-with-Refinery-CMS)\n\nIf there's a feature you think would be great to add to Forem, let us know on [the Issues\npage](https://github.com/radar/forem/issues)\n\n## Auto Discovery Links\nIf you would like to add auto discovery links for the built in forum Atom feeds, then add the following method inside your \u0026lt;head\u0026gt; tag:\n\n```erb\n\u003c%= forem_atom_auto_discovery_link_tag %\u003e\n```\n\nForem's default layout includes this tag.\n\n## View Customisation\n\nIf you want to customise Forem, you can copy over the views using the (Devise-inspired) `forem:views` generator:\n\n    rails g forem:views\n\nYou will then be able to edit the forem views inside the `app/views/forem` of your application. These views will take precedence over those in the engine.\n\n## Extending Classes\n\nAll of Forem’s business logic (models, controllers, helpers, etc) can easily be extended / overridden to meet your exact requirements using standard Ruby idioms.\n\nStandard practice for including such changes in your application or extension is to create a directory app/decorators. place file within the relevant app/decorators/models or app/decorators/controllers directory with the original class name with _decorator appended.\n\n### Adding a custom method to the Post model:\n\n```ruby\n# app/decorators/models/forem/post_decorator.rb\n\nForem::Post.class_eval do\n  def some_method\n    ...\n  end\nend\n```\n\n### Adding a custom method to the PostsController:\n\n```ruby\n# app/decorators/controllers/forem/posts_controller_decorator.rb\n\nForem::PostsController.class_eval do\n  def some_action\n    ...\n  end\nend\n```\n\nThe exact same format can be used to redefine an existing method.\n\n## Translations\n\nWe currently have support for the following languages:\n\n* Arabic\n* Brazillian (pt-BR)\n* Bulgarian\n* Chinese (Simplified, zh-CN)\n* Chinese (Traditional, zh-TW)\n* Czech\n* Dutch\n* English\n* Estonian\n* Farsi (Persian)\n* German\n* Italian\n* Japanese\n* Korean\n* Lithuanian\n* Polish\n* Portuguese (pt-PT)\n* Russian\n* Slovak\n* Spanish\n* Turkish\n\nPatches for new translations are very much welcome!\n\n## OMG BUG! / OMG FEATURE REQUEST!\n\nFile an issue and we'll get around to it when we can.\n\n## Developing on forem\n\nForem is implemented as a Rails engine and its specs are run in the context of a dummy Rails app. The process for getting the specs to run is similar to setting up a regular rails app:\n\n    bundle exec rake forem:dummy_app\n\nOnce this setup has been done, Forem's specs can be run by executing this command:\n\n    bundle exec rspec spec\n\nMore information can be found in [this issue](https://github.com/radar/forem/issues/24) in the bugtracker.\n\nIf all the tests are passing (they usually are), then you're good to go! Develop a new feature for Forem and be lavished with praise!\n\n## Contributors\n\n* Ryan Bigg\n* Philip Arndt\n* Josh Adams\n* Adam McDonald\n* Zak Strassburg\n* [And more](https://github.com/radar/forem/contributors)\n\n## Places using Forem\n\n* [Alabama Intel](http://alabamaintel.com)\n* [Huntington's Disease Youth Organization](http://hdyo.org/)\n* [Miniand Tech](https://www.miniand.com/forums)\n* [Goodsmiths](https://www.goodsmiths.com/hub)\n* [Now Novel](http://nownovel.com/bookwriting)\n* [OrbsCCG](http://orbsccg.com/forums/)\n* [Airesis](http://www.airesis.eu)\n* [Lab Nation](https://www.lab-nation.com/forum/)\n* [INRTracker](http://www.inrtracker.com/community)\n\nIf you want yours added here, just ask!\n","funding_links":[],"categories":["Communication","Ruby"],"sub_categories":["Forum Systems"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubysherpas%2Fforem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubysherpas%2Fforem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubysherpas%2Fforem/lists"}