Calendar helper for Twitter Bootstrap and Rails
This gem provide simple and easy way to create calendar with Twitter Bootstrap and Rails.
Installation
First of all you should include twitter bootstrap in your app. You can do it manually, or use twitter-bootstrap-rails gem.
Installing the Less stylesheets
To use Less stylesheets, you'll need the less-rails gem, and one of Javascript runtimes supported by CommonJS.
Include these lines in the Gemfile to install the gems from RubyGems.org:
gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "bootstrap_calendar_rails"
Then run bundle install
from the command line:
bundle install
Then run the bootstrap generator to add Calendar includes into your assets:
rails generate calendar:install less
Installing the CSS stylesheets
If you don't need to customize the stylesheets using Less, the only gem you need is the bootstrap_calendar_rails
gem:
gem "bootstrap_calendar_rails"
After running bundle install
, run the generator:
rails generate calendar:install static
Usage
Basic usage
You should use something like this in the view
bootstrap_calendar Date.today {} do |date|
date.day.to_s
end
it show you calendar for the current month.
Advanced usage
You can specify another start week day. Use start_day
key for this:
bootstrap_calendar Date.today { start_day: :wednesday } do |date|
date.day.to_s
end
You can extend day classes. Use extra_day_classes
key and lambda for this:
options = { extra_day_classes: lambda { |classes, date|
classes << 'cal-day-daylight' if true
}
}
bootstrap_calendar Date.today, options do |date|
date.day.to_s
end
Example application
An example application is available at sharpyfox/bootstrap_calendar_rails_example. You can view it running on heroku here. Contributions welcome.
Inspiration
This gem are highly inspired by:
davidray and davidray / twitter-bootstrap-calendar Basically this gem is an adoptation davidray / twitter-bootstrap-calendar
for my flavour
Serhioromano and Serhioromano / bootstrap-calendar I stole all css markup from him
Thanks guys!
Contribution
If you'd like to add features (or bug fixes) to improve the gem, you can fork the GitHub repo and make pull requests. Your code contributions are welcome!