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 server
Open 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.