An extendable Ruby on Rails content management system for client-editable websites.
Refinery CMS is an open-source content management system built as a Ruby on Rails engine. It allows developers to create websites where non-technical clients can update content themselves through an intuitive interface. The system supports Rails 6.1 through 8.1+ and Ruby 3.x to 4.x, focusing on extensibility and adherence to Rails conventions.
Ruby on Rails developers building websites for clients who need to manage their own content without technical complexity. It's ideal for agencies, freelancers, and businesses creating content-driven Rails applications.
Developers choose Refinery CMS because it stays true to Rails conventions, avoids forcing new templating languages, and is highly extensible through custom engines. Its end-user focus simplifies client training while maintaining developer flexibility.
An extendable Ruby on Rails CMS that supports Rails 6.1 to 8.1+ and Ruby 3.x to 4.x
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Sticks to 'the Rails way' without forcing new templating languages, making it familiar for Rails developers and easing integration into existing projects.
Designed specifically for non-technical clients with an intuitive visual editor, reducing training overhead and enabling easy content updates.
Includes a dedicated generator (`rails generate refinery:engine`) for custom extensions, allowing seamless addition of features like blogs or portfolios.
Leverages Devise for user management and Dragonfly for media handling with S3 support, providing robust out-of-the-box functionality for common needs.
The README admits some documentation is out of date and the website is not live, which can hinder onboarding and troubleshooting for developers.
Requires ImageMagick, which has a serious vulnerability (CVE-2016-3714), forcing manual configuration to disable features and adding security overhead.
Uses jQuery, which may not align with modern front-end development practices, limiting flexibility for teams wanting to use frameworks like React or Vue.js.