Thredded: A new lightweight forums engine for Rails

Thredded is a Rails 4.2+ (yes! - it’s ready for Rails 5) forum/messageboard engine. Its goal is to be as simple, feature rich, and approachable as possible.

By “simple” we mean that it is a quick and easy way to extend an existing rails app with an forum engine instead of spinning up a whole other app like discourse - no docker needed, no extra heroku dynos, no knowledge of ember needed. It is easily theme’able, configurable, well tested, and has a long history with its maintainers (15 years and many rewrites/evolutions).

How easy is it to extend within your rails app? For example, if I wanted to use it, or portions of it behind a paywall, for example?

Easy, config/initializers/thredded.rb:

Rails.application.config.to_prepare do
  Thredded::ApplicationController.module_eval do
    before_action :paywall
    
    private
    
    def paywall
      ...
    end
  end
end

We’ve just released Thredded v0.5.0 with two new major features: topic subscriptions and a basic moderation system.

It took a while to get the foundation right, but now it’s a pleasure to build upon. :slight_smile:

We’ve just released Thredded v0.7.0 with configurable topic list display (ordering, listing followers) and improved moderation, as well as a suite of UI enhancements and bug fixes.

Check out the updated homepage!.
https://twitter.com/glebm/status/795013076919533568

We’ve just released v0.8.2 with some major new features:

  • More granular user notification settings.
  • Autocompletion for @-mentions.
  • Turbolinks 5 support, and async and defer script loading support for maximum performance.
  • View hooks that let your app and plugins easily extend Thredded views.
  • A Code Syntax Highlighting plugin.
  • A BBCode markup plugin.
  • An app generator that generates a fully-configured Rails app with Thredded and Devise.

Check out the new demo at Thredded.org!

Thredded got several releases since I last posted here. The highlights are:

  • A notifications plugin system, so you can notify about new posts e.g. on Slack.
  • Many improvements to Private Messages.
  • Spanish and Polish localisation.
  • Preview-as-you-type.

And finally, the feature I’m very excited about, a plugin that renders TeX math via KaTeX. The rendering happens server-side for maximum accessibility and performance. This is achieved by calling KaTeX (written in JavaScript) from Ruby via ExecJS.

This is what it looks like:

The updated demo is up at Thredded.org.

Thredded again has received some major improvements since I last posted here.

Highlights:

  • Oneboxes: URLs to supported resources placed on their own line are replaced with a “onebox”.
    Oneboxes replace the previous YouTube and Vimeo implementations and add support for dozens more sites, including Tweets, Google Maps, and so on. The implementation is powered by the onebox gem. #545

  • Auto-follow all new topics setting. #488 #554


  • Email styles: the emails now come in style.
    In the emails, interactive content (such as Google Maps, YouTube Videos) is shown as a static image. #550

  • UI improvements. Messageboards are displayed in a grid on desktop. Post action are now in a dropdown menu (JS-free).

  • Various features such as Mark as unread, and Move Topic to another messageboard.

The updated demo is up at Thredded.org

Thredded v0.12 is out and comes with the “Quote” reply feature!