Skip to content

rangerscience/rails-storybook

Repository files navigation

Rails::Storybook

Gem Version ci code-climate

Storybook is a very cool Javascript ecosystem tool, aiding in the development of component-based UIs. It takes a little bit of doing to make it play nicely with Rails. And, a main benefit of using Storybook is that it lets you use Chromatic - which means no more need for a lot of your UI tests!

Installation

Add this line to your application's Gemfile:

gem 'rails-storybook'

Then:

rails g storybook:install

Then, optionally:

rails g storybook:examples

Restart your processes (stop and restart ./bin/dev) and viola! Opens up a Storybook connected to your Rails server, and if you've also generated the example, will have a simple View Component showing up in Storybook.

Usage

Write rails-previews for your partials, view components, and react-on-rails components -

module Previews
  class Example < Rails::Previews::Preview
    def partial
      render_partial "application/example", title: "Hello, World!"
    end

    def view_component
      ExampleComponent.new(title: "Hello, World!")
    end
    
    def react_component
      render_react_on_rails "HelloWorld", name: "Hello, World!"
    end
  end
end

Then run rake storybook:stories to generate the CSF JSON that Storybook uses to find your previews.

And... that's it! :D Just turn on Storybook to see your examples :)

Development

Inspired by gem view_component-storybook, but, I want to accomplish things in a different way, to aim higher (handling view components, partials, and React components), and to aim specifically at integration with Chromatic.

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/rangerscience/rails-storybook. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Rails::Storybook project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published