
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Bootstrap 5 ruby gem for Ruby on Rails (Sprockets/Importmaps) and Hanami (formerly Lotus).
For Sass versions of Bootstrap 3 and 2 see bootstrap-sass instead.
Ruby on Rails Note: Newer releases of Rails have added additional ways for
assets to be processed. The twbs/bootstrap-rubygem
is for use with Importmaps
or Sprockets, but not Webpack.
Please see the appropriate guide for your environment of choice:
Add bootstrap
to your Gemfile:
gem 'bootstrap', '~> 5.3.3'
This gem requires a Sass engine, so make sure you have one of these two gems in your Gemfile:
dartsass-sprockets
: Dart Sass engine, recommended but only works for Ruby 2.6+ and Rails 5+dartsass-rails
: Dart Sass engine, recommended for Rails projects that use Propshaftcssbundling-rails
: External Sass enginesassc-rails
: SassC engine, deprecated but compatible with Ruby 2.3+ and Rails 4Also ensure that sprockets-rails
is at least v2.3.2.
bundle install
and restart your server to make the files available through the pipeline.
Import Bootstrap styles in app/assets/stylesheets/application.scss
:
// Custom bootstrap variables must be set or imported *before* bootstrap.
@import "bootstrap";
The available variables can be found here.
Make sure the file has .scss
extension (or .sass
for Sass syntax). If you have just generated a new Rails app,
it may come with a .css
file instead. If this file exists, it will be served instead of Sass, so rename it:
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
Then, remove all the *= require
and *= require_tree
statements from the Sass file. Instead, use @import
to import Sass files.
Do not use *= require
in Sass or your other stylesheets will not be able to access the Bootstrap mixins and variables.
Bootstrap JavaScript can optionally use jQuery.
If you're using Rails 5.1+, you can add the jquery-rails
gem to your Gemfile:
gem 'jquery-rails'
Bootstrap tooltips and popovers depend on popper.js for positioning.
The bootstrap
gem already depends on the
popper_js gem.
You can pin either bootstrap.js
or bootstrap.min.js
in config/importmap.rb
as well as popper.js
:
pin "bootstrap", to: "bootstrap.min.js", preload: true
pin "@popperjs/core", to: "popper.js", preload: true
Whichever files you pin will need to be added to config.assets.precompile
:
# config/initializers/assets.rb
Rails.application.config.assets.precompile += %w(bootstrap.min.js popper.js)
Add Bootstrap dependencies and Bootstrap to your application.js
:
//= require jquery3
//= require popper
//= require bootstrap-sprockets
While bootstrap-sprockets
provides individual Bootstrap components
for ease of debugging, you may alternatively require
the concatenated bootstrap
for faster compilation:
//= require jquery3
//= require popper
//= require bootstrap
If your framework uses Sprockets or Hanami, the assets will be registered with Sprockets when the gem is required, and you can use them as per the Rails section of the guide.
Otherwise you may need to register the assets manually. Refer to your framework's documentation on the subject.
Bootstrap requires the use of Autoprefixer. Autoprefixer adds vendor prefixes to CSS rules using values from Can I Use.
If you are using bootstrap with Rails, autoprefixer is set up for you automatically. Otherwise, please consult the Autoprefixer documentation.
By default all of Bootstrap is imported.
You can also import components explicitly. To start with a full list of modules copy
_bootstrap.scss
file into your assets as _bootstrap-custom.scss
.
Then comment out components you do not want from _bootstrap-custom
.
In the application Sass file, replace @import 'bootstrap'
with:
@import 'bootstrap-custom';
FAQs
Unknown package
We found that bootstrap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.