Bootstrap-generators provides Twitter Bootstrap generators for Rails
HTML Ruby JavaScript CSS
Latest commit d6ce36f May 5, 2017 @decioferreira committed on GitHub Merge pull request #46 from ttilberg/patch-1
Remove `content_tag_for` for Rails 5 compatibility

README.md

Bootstrap Generators

Build Status

Bootstrap-generators provides Twitter Bootstrap generators for Rails 4 (supported Rails >= 3.1). Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.

Current Twitter Bootstrap version

The current supported version of Twitter Bootstrap is 3.3.4.

Installing Gem

In your Gemfile, add this line:

gem 'bootstrap-generators', '~> 3.3.4'

Or you can install from latest build:

gem 'bootstrap-generators', git: 'git://github.com/decioferreira/bootstrap-generators.git'

Run bundle install:

bundle install

Generators

Get started:

rails generate bootstrap:install

To overwrite files that already exist, pass the --force (-f) option.

Once you've done that, any time you generate a controller or scaffold, you'll get Bootstrap templates.

Give it a try

In Rails >= 4.1 you need to run spring stop so than Rails preloader knows about new templates.

rails generate scaffold post title body:text published:boolean

You can easily customize colors, grid system, fonts, and much more by editing bootstrap-variables.[less|scss] on your application assets folder.

Usage

To print the options and usage run the command rails generate bootstrap:install --help

Usage:
  rails generate bootstrap:install [options]

Options:
  -e, [--template-engine=TEMPLATE_ENGINE]          # Indicates when to generate template engine
                                                   # Default: erb
  -se, [--stylesheet-engine=STYLESHEET_ENGINE]     # Indicates when to generate stylesheet engine
                                                   # Default: scss
      [--skip-turbolinks], [--no-skip-turbolinks]  # Indicates when to generate skip turbolinks

Runtime options:
  -f, [--force]                    # Overwrite files that already exist
  -p, [--pretend], [--no-pretend]  # Run but do not make any changes
  -q, [--quiet], [--no-quiet]      # Suppress status output
  -s, [--skip], [--no-skip]        # Skip files that already exist

Copy BootstrapGenerators default files

Options

Template engines

Supported template engines:

  • ERB
  • Haml
  • Slim
Haml

Add the dependency on your Gemfile:

gem 'haml-rails'

And then run:

rails generate bootstrap:install --template-engine=haml
Slim

Add the dependency on your Gemfile:

gem 'slim-rails'

And then run:

rails generate bootstrap:install --template-engine=slim

Stylesheet engines

Supported stylesheet engines:

  • CSS
  • SCSS
  • LESS
SCSS

Make sure you have sass-rails dependency on your Gemfile:

gem 'sass-rails'

And then run:

rails generate bootstrap:install --stylesheet-engine=scss

Now you can customize the look and feel of Bootstrap.

LESS

Add the dependency on your Gemfile:

gem 'therubyracer', platforms: :ruby
gem 'less-rails'

And then run:

rails generate bootstrap:install --stylesheet-engine=less

Now you can customize the look and feel of Bootstrap.

Skip turbolinks

Run the generator with option --skip-turbolinks to remove turbolinks references from the generated layout.

Assets

Customize and extend Bootstrap

If you select LESS or SCSS as your stylesheet engine, you will get an app/assets/stylesheets/bootstrap-variables.[less|scss] file with all of the default variables of Bootstrap. This way you can customize the look and feel of Bootstrap without having to download any extra file.

Javascript

Select all jQuery plugins (app/assets/javascripts/bootstrap.js)

//= require bootstrap

Or quickly add only the necessary javascript (Transitions: required for any animation; Popovers: requires Tooltips)

//= require bootstrap/collapse
//= require bootstrap/modal
//= require bootstrap/button
//= require bootstrap/affix
//= require bootstrap/tab
//= require bootstrap/alert
//= require bootstrap/transition
//= require bootstrap/tooltip
//= require bootstrap/popover
//= require bootstrap/scrollspy
//= require bootstrap/dropdown
//= require bootstrap/carousel

Customizing Templates

In Rails 3.0 and above, generators don’t just look in the source root for templates, they also search for templates in other paths. And one of them is lib/templates.

Since Bootstrap Generators installs its templates under lib/templates, you can go and customize them.

Update Bootstrap Version

To update the version of Bootstrap on this Gem you can run the following command:

rake bootstrap:update

There might be some manual changes needed after running this command. But most of the process is automatic.

Credits