From IndieWeb

FrancisCMS is an IndieWeb-friendly content management system built with Ruby on Rails. It was conceived and is maintained by Jason Garber.


FrancisCMS began life on 2014-10-07 as a Sinatra application (hence the name) before becoming a Rails application before becoming a mountable Rails engine.

At present, FrancisCMS is a white label Rails engine meant to be included in an existing Rails application at a particular mount point (/, for instance). FrancisCMS provides models, controllers, and views for CRUD-ing supported content types. The host Rails application is responsible for providing a user authentication system, styles with CSS, and behavior with JavaScript. FrancisCMS also exposes a number of useful methods, helpers, and configuration variables available for use in the host Rails application.


  • Supports multiple content types (posts, links, and photos) with drafts, tags, and RSS feeds.
  • Supports syndicating content types to several third-party silos.
  • Receives and verifies webmentions, displaying verified webmentions on content pages.
  • Provides alternative representations of content types as Markdown and jf2-formatted JSON.
  • Inherits styling (CSS) and scripting (JavaScript) from the host Rails application.
  • Delegates authentication to the host Rails application.

IndieWeb Examples

People currently using FrancisCMS:


Include the FrancisCMS engine in your project's Gemfile:

gem 'francis_cms', git: ''

Run bundle install to install FrancisCMS and its dependencies.


Full instructions for implementing and configuring FrancisCMS are available on GitHub.

Source Code


FrancisCMS is freely available under the MIT License. Use it, learn from it, fork it, improve it, change it, tailor it to your needs.

See Also