This fork of BH aims to provide boostrap helpers for [Boostrap 4][https://getbootstrap.com/docs/4.0/]
This is work in progress.
--- old readme below ---
A set of Ruby helpers that streamlines the use of Bootstrap 3 components in HTML views.
The full documentation is available at rubydoc.info.
Bootstrap 3 is a great framework, but requires many lines of HTML code even for simple components. For instance, you need to write the following HTML to show a dismissible alert:
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
You accepted the Terms of service.
</div>
Writing this for every dismissible alert is cumbersome, repetitive, and prone to errors.
With Bh, you can achieve the same result with just one line of code:
<%= alert_box 'You accepted the Terms of service.', dismissible: true %>
alert_box
is only one of the helpers provided by Bh.
The other ones are: bootstrap_css
, bootstrap_js
, bootstrap_theme_css
,
button_to
, button
, dropdown
, font_awesome_css
, form_for
,
icon
, modal
, navbar
, nav
, panel_row
, panel
and progress_bar
.
Bh is compatible with Rails 3.2, Rails 4, Padrino and Middleman.
To include the Bh gem in your project:
- Add
gem 'bh', '~> 1.3'
to theGemfile
file of your Rails, Padrino or Middleman project. - Only if you are using Middleman: open
config.rb
and addactivate :bh
. - Only if you are using Padrino: open
app.rb
and addregister Bh
.
That’s all! From now on, you will be able to use any Bh helper in your views.
All the helpers available in Bh are detailed on the Bh homepage:
Please proceed to http://fullscreen.github.io/bh for more details and examples on how to use Bh.
The examples
folder includes three sample apps that you can rapidly run in
your browser and edit as you please, in order to visually appreciate the result
of Bh.
If you’d like to run the test Rails app:
- Download the source code
cd
into theexamples/rails
folder- Run
bundle install
- Run
bundle exec rails server
- Point your browser to http://0.0.0.0:3000
If you prefer to see the helpers inside a test Middleman app:
- Download the source code
cd
into theexamples/middleman
folder- Run
bundle install
- Run
bundle exec middleman
- Point your browser to http://0.0.0.0:4567
If you prefer to see the helpers inside a test Padrino app:
- Download the source code
cd
into theexamples/padrino
folder- Run
bundle install
- Run
bundle padrino start
- Point your browser to http://0.0.0.0:3000
Bh strictly follows Semantic Versioning.
By indicating the version number in the '~> major.minor' format in your
Gemfile, you are guaranteed that that your project won’t break when you
bundle update
to a new version.
Whenever a new version is released, the CHANGELOG file will include a description of what features have changed and how to upgrade your code, if necessary.
The full history of Bh versions is also available.
To stay updated with the latest releases, to receive code examples, implementation details and announcements, please consider subscribing to the Bh mailing list:
If you are a manager of this project, remember to upgrade the Bh gem whenever a new feature is added or a bug gets fixed.
Make sure all the tests are passing on Travis CI, document the changes in CHANGELOG.md and README.md, bump the version, then run
rake release
Remember that the bh gem follows Semantic Versioning.
Any new release that makes backward-compatible bug fixes should bump the patch version (1.1.x).
Any new release that adds backward-compatible features should bump the minor version (1.x.0).
Any new version that breaks compatibility should bump the major version (2.0.0)
Bh needs your support!
If you find that a method is missing, fork the project, add the missing code, write the appropriate tests, then submit a pull request, and it will gladly be merged!
To run the tests, simply type bundle exec rspec
on the command line.
Don’t hesitate to send code pull requests through GitHub and to spread the love. And don’t click here! Thanks! :)