v3 Launch and New Theme: Setter

Andy Leverenz
Hey!
It’s been too long. I’m back with a big update for Rails UI.
I’ve been busy effectively re-writing Rails UI after hearing some great feedback. This update is a bit of a monumental one for that reason. At the time of writing, v3 is officially live.
What’s in version 3
Add Rails UI to new and existing Rails apps—For many, the biggest non-starter was not being able to use Rails UI with an existing Rails app. Now, in v3, this is possible. This meant rewriting the gem and following a different approach, but I’m pretty pleased with the results.
Easily swap themes and components–Before v3, once you installed a theme, you could never change it without scrapping your app and starting over. I knew from the start this experience was poor, so I finally addressed it by making themes and components swappable. The documentation will cover some caveats to be aware of when making changes to an existing Rails UI install, but it’s primarily a couple of clicks to do.
More efficient configuration—You can now configure Rails UI using a configuration file or the built-in GUI form. You can set your theme, primary and secondary colors, associated theme pages, and basic application information there. As a bonus, I’ve included some helpful rake tasks to retrieve color palettes.
Upgrades: v2 remains in a new branch called v2. If you use any version before v3, you should update the railsui gem to point to that branch directly in your Gemfile. v3 is a significant breaking change and will reside on the main branch. There is no formal upgrade path from v2 to v3; however, version 3 is more flexible than v2. If you subscribe to Rails UI premium, the same branch patterns apply.
I recommend reading the documentation for more in-depth details.
Meet Setter, the newest premium Rails UI theme
Setter is the newest premium Rails UI theme. It features an application UI for an ATS (application tracking system). The theme also includes a suite of reusable components ready to be integrated into your Rails app, including UI patterns for off-canvas navigation menus, Kanban layouts, full calendar UI, and flyout menus with plenty more under the hood.
Setter will, of course, be extended as time passes. This means new pages, new components, and improvements to patterns that might make things more reusable and developer-friendly.
Subscribe to Rails UI today to gain access.
📌 Do you have a particular niche you need UI and components for? Hit reply and let me know.
railsui-stimulus
Meet railsui-stimulus—an ever-growing collection of Stimulus.js components built with Tailwind CSS. As I build Rails UI, I’ve noticed numerous opportunities to extract JavaScript logic into something more reusable. railsui-stimulus was born out of this process. Almost a dozen components are ready to use, with plans to add more. This library can be used entirely outside of Rails UI.
railsui-icon
Also new is railsui-icon, a handy gem for rendering SVG icons. Currently, it supports heroicons with plans for more. This gem can be used entirely outside of Rails UI. Install it with bundler, run the install generator, and you’re off to the races.
The road ahead
- Rails UI has focused primarily on HTML, ERB, and HAML code snippets with Stimulus.js baked in, but I plan to explore formal component-driven approaches. No promises on adoption of one strategy over another, but I’ll be researching to see what makes the most sense (without more rewrites 😅). Ultimately, I think this type of use-case differs from developer to developer, so Rails UI purposely remains unbiased. I favor Rails defaults in most cases following convention over configuration; I can, however, be swayed!
- More themes and components, of course. With v3 out, the development pace should increase dramatically, but I am still a one-man shop. I will do my best!
- I’ll be continuing development on railsui-stimulus and railsui-icon and maybe adding more open source tools out there. Extending these will help me extend Rails UI.
I appreciate your support if you've followed along since the start. If you picked up the premium version, thank you double! Your support inspires me to build this into something developers can find value in. I know it has saved me so much time on a few side projects I've got in motion.
For more in-the-trenches updates, I post irregularly on X.
Cheers until next time 🍻