Folio is an open-source engine that turns any Rails application into a modern, multi-site CMS with a beautiful admin console, modular content blocks, and a rich set of generators.
Build pages from reusable blocks. Scaffold admin UIs in seconds. Keep full control of the code.
• Productive – Generators for pages, components, mailers, blog, search, …
• Flexible – Compose pages from CMS blocks (Atoms) rendered by ViewComponent.
• Modern – Console UI built with Stimulus & ViewComponent, ready for Turbo.
• Ruby First – 100 % Ruby / Slim / SASS, no proprietary DSLs.
• Upgrade-safe – Override via app/overrides/, keep your customisations isolated.
bundle add folio dragonfly_libvips view_component
rails generate folio:install
rails db:migrate
rails serverOpen http://localhost:3000/console and log in with the credentials printed by the installer seed.
Full English documentation lives in the docs/ folder:
| Topic | File |
|---|---|
| Overview | docs/overview.md |
| Architecture | docs/architecture.md |
| Components | docs/components.md |
| CMS Blocks (Atoms) | docs/atoms.md |
| Admin Console | docs/admin.md |
| Help Documents | docs/help_documents.md |
| Files & Media | docs/files.md |
| Forms | docs/forms.md |
| Emails & Templates | docs/emails.md |
| Configuration | docs/configuration.md |
| Testing | docs/testing.md |
| Troubleshooting | docs/troubleshooting.md |
| Upgrade & Migration | docs/upgrade.md |
| Extending & Customisation | docs/extending.md |
| Concerns | docs/concerns.md |
| Jobs | docs/jobs.md |
| Seeding | docs/seeding.md |
| Sitemaps | docs/sitemap.md |
| FAQ | docs/faq.md |
Start with the Overview and follow the Quick Start guide.
- Fork the repo and create your branch (
git checkout -b feature/my-thing). - Run the dummy app for development:
bundle exec rails app:folio:prepare_dummy_app. - Commit your changes (
git commit -am 'Add new thing'). - Push the branch (
git push origin feature/my-thing). - Open a Pull Request.
See docs/testing.md for the test setup.
Folio is released under the MIT License – see LICENSE for details.