{"id":13463031,"url":"https://github.com/seyhunak/twitter-bootstrap-rails","last_synced_at":"2025-05-13T15:01:57.865Z","repository":{"id":45129101,"uuid":"2242086","full_name":"seyhunak/twitter-bootstrap-rails","owner":"seyhunak","description":"Twitter Bootstrap for Rails 8","archived":false,"fork":false,"pushed_at":"2025-03-20T19:45:06.000Z","size":4116,"stargazers_count":4488,"open_issues_count":57,"forks_count":999,"subscribers_count":186,"default_branch":"master","last_synced_at":"2025-05-05T22:14:58.344Z","etag":null,"topics":["bootstrap","bootstrap-generator","rails-gem","twitter-bootstrap-rails"],"latest_commit_sha":null,"homepage":"https://github.com/seyhunak/twitter-bootstrap-rails","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seyhunak.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":"seyhunak","open_collective":"seyhunak","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2011-08-21T03:31:16.000Z","updated_at":"2025-04-23T12:46:18.000Z","dependencies_parsed_at":"2025-04-21T02:21:14.366Z","dependency_job_id":"a8c13b4b-8a28-46f1-8ecd-52ffa0e44139","html_url":"https://github.com/seyhunak/twitter-bootstrap-rails","commit_stats":{"total_commits":653,"total_committers":231,"mean_commits":2.826839826839827,"dds":0.8177641653905053,"last_synced_commit":"6e0fbcb0b200f2dac8a40a5cfec54e7c7b35f442"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyhunak%2Ftwitter-bootstrap-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyhunak%2Ftwitter-bootstrap-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyhunak%2Ftwitter-bootstrap-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seyhunak%2Ftwitter-bootstrap-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seyhunak","download_url":"https://codeload.github.com/seyhunak/twitter-bootstrap-rails/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253858376,"owners_count":21974912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","bootstrap-generator","rails-gem","twitter-bootstrap-rails"],"created_at":"2024-07-31T13:00:44.517Z","updated_at":"2025-05-13T15:01:57.771Z","avatar_url":"https://github.com/seyhunak.png","language":"HTML","funding_links":["https://patreon.com/seyhunak","https://opencollective.com/seyhunak","https://opencollective.com/twitter-bootstrap-rails","https://opencollective.com/twitter-bootstrap-rails/backer/0/website","https://opencollective.com/twitter-bootstrap-rails/backer/1/website","https://opencollective.com/twitter-bootstrap-rails/backer/2/website","https://opencollective.com/twitter-bootstrap-rails/backer/3/website","https://opencollective.com/twitter-bootstrap-rails/backer/4/website","https://opencollective.com/twitter-bootstrap-rails/backer/5/website","https://opencollective.com/twitter-bootstrap-rails/backer/6/website","https://opencollective.com/twitter-bootstrap-rails/backer/7/website","https://opencollective.com/twitter-bootstrap-rails/backer/8/website","https://opencollective.com/twitter-bootstrap-rails/backer/9/website","https://opencollective.com/twitter-bootstrap-rails/backer/10/website","https://opencollective.com/twitter-bootstrap-rails/backer/11/website","https://opencollective.com/twitter-bootstrap-rails/backer/12/website","https://opencollective.com/twitter-bootstrap-rails/backer/13/website","https://opencollective.com/twitter-bootstrap-rails/backer/14/website","https://opencollective.com/twitter-bootstrap-rails/backer/15/website","https://opencollective.com/twitter-bootstrap-rails/backer/16/website","https://opencollective.com/twitter-bootstrap-rails/backer/17/website","https://opencollective.com/twitter-bootstrap-rails/backer/18/website","https://opencollective.com/twitter-bootstrap-rails/backer/19/website","https://opencollective.com/twitter-bootstrap-rails/backer/20/website","https://opencollective.com/twitter-bootstrap-rails/backer/21/website","https://opencollective.com/twitter-bootstrap-rails/backer/22/website","https://opencollective.com/twitter-bootstrap-rails/backer/23/website","https://opencollective.com/twitter-bootstrap-rails/backer/24/website","https://opencollective.com/twitter-bootstrap-rails/backer/25/website","https://opencollective.com/twitter-bootstrap-rails/backer/26/website","https://opencollective.com/twitter-bootstrap-rails/backer/27/website","https://opencollective.com/twitter-bootstrap-rails/backer/28/website","https://opencollective.com/twitter-bootstrap-rails/backer/29/website"],"categories":["CSS","HTML","Ruby","Gems"],"sub_categories":["CSS with Ruby","Bootstrap"],"readme":"# Twitter Bootstrap for Rails 6, 5 and 4 Asset Pipeline\r\n\r\nBootstrap is a toolkit from Twitter designed to kickstart development of web apps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.\r\n\r\ntwitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails Asset Pipeline (Rails 6, Rails 5 and Rails 3.x versions are supported)\r\n\r\n[![Gem Version](https://badge.fury.io/rb/twitter-bootstrap-rails.svg)](http://badge.fury.io/rb/twitter-bootstrap-rails)\r\n[![Dependency Status](https://gemnasium.com/seyhunak/twitter-bootstrap-rails.svg?travis)](https://gemnasium.com/seyhunak/twitter-bootstrap-rails?travis)\r\n[![Code Climate](https://codeclimate.com/github/seyhunak/twitter-bootstrap-rails/badges/gpa.svg)](https://codeclimate.com/github/seyhunak/twitter-bootstrap-rails?branch=master)\r\n[![Coverage Status](https://coveralls.io/repos/seyhunak/twitter-bootstrap-rails/badge.svg?branch=master)](https://coveralls.io/repos/seyhunak/twitter-bootstrap-rails/badge.svg?branch=master)\r\n[![GitHub stars](https://img.shields.io/github/stars/seyhunak/twitter-bootstrap-rails.svg)](https://github.com/seyhunak/twitter-bootstrap-rails/stargazers)\r\n[![GitHub forks](https://img.shields.io/github/forks/seyhunak/twitter-bootstrap-rails.svg)](https://github.com/seyhunak/twitter-bootstrap-rails/network)\r\n[![GitHub issues](https://img.shields.io/github/issues/seyhunak/twitter-bootstrap-rails.svg)](https://github.com/seyhunak/twitter-bootstrap-rails/issues)\r\n\r\n[![OpenCollective](https://opencollective.com/twitter-bootstrap-rails/backers/badge.svg)](#backers) \r\n[![OpenCollective](https://opencollective.com/twitter-bootstrap-rails/sponsors/badge.svg)](#sponsors)\r\n\r\n## Screencasts\r\n#### Installing twitter-bootstrap-rails, generators, usage and more\r\n\r\nScreencasts provided by \u003ca href=\"http://railscasts.com\"\u003eRailsCasts\u003c/a\u003e (Ryan Bates)\r\n\r\n[Twitter Bootstrap Basics](http://railscasts.com/episodes/328-twitter-bootstrap-basics \"Twitter Bootstrap Basics\")\r\nin this episode you will learn how to include Bootstrap into Rails application with the twitter-bootstrap-rails gem.\r\n\r\n[More on Twitter Bootstrap](http://railscasts.com/episodes/329-more-on-twitter-bootstrap \"More on Twitter Bootstrap\")\r\nin this episode continues on the Bootstrap project showing how to display flash messages, add form validations with SimpleForm, customise layout with variables, and switch to using Sass.\r\n(Note: This episode is pro episode)\r\n\r\n## Installing the Gem\r\n\r\nThe [Twitter Bootstrap Rails gem](http://rubygems.org/gems/twitter-bootstrap-rails) can provide the Bootstrap stylesheets in two ways.\r\n\r\nThe plain CSS way is how Bootstrap is provided on [the official website](http://twbs.github.io/bootstrap/).\r\n\r\nThe [Less](http://lesscss.org/) way provides more customisation options, like changing theme colors and provides useful Less mixins for your code, but requires the\r\nLess gem and the Ruby Racer Javascript runtime (not available on Microsoft Windows).\r\n\r\n### Installing the Less stylesheets\r\n\r\nTo use Less stylesheets, you'll need the [less-rails gem](http://rubygems.org/gems/less-rails), and one of [JavaScript runtimes supported by CommonJS](https://github.com/cowboyd/commonjs.rb#supported-runtimes).\r\n\r\nInclude these lines in the Gemfile to install the gems from [RubyGems.org](http://rubygems.org):\r\n\r\n```ruby\r\ngem \"therubyracer\"\r\ngem \"less-rails\" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS\r\ngem \"twitter-bootstrap-rails\"\r\n```\r\n\r\nor you can install from latest build;\r\n\r\n```ruby\r\ngem 'twitter-bootstrap-rails', :git =\u003e 'git://github.com/seyhunak/twitter-bootstrap-rails.git'\r\n```\r\n\r\nThen run `bundle install` from the command line:\r\n\r\n    bundle install\r\n\r\nThen run the bootstrap generator to add Bootstrap includes into your assets:\r\n\r\n    rails generate bootstrap:install less\r\n\r\nIf you need to skip coffeescript replacement into app generators, use:\r\n\r\n    rails generate bootstrap:install --no-coffeescript\r\n\r\n### Installing the CSS stylesheets\r\n\r\nIf you don't need to customize the stylesheets using Less, the only gem you need is the `twitter-bootstrap-rails` gem:\r\n\r\n```ruby\r\ngem \"twitter-bootstrap-rails\"\r\n```\r\n\r\nAfter running `bundle install`, run the generator:\r\n\r\n    rails generate bootstrap:install static\r\n\r\nIf your Rails server is running, make sure to restart it.\r\n\r\n## Generating layouts and views\r\n\r\nYou can run following generators to get started with Bootstrap quickly.\r\n\r\n\r\nLayout (generates Bootstrap compatible layout) - (Haml and Slim supported)\r\n\r\n\r\nUsage:\r\n\r\n\r\n    rails g bootstrap:layout [LAYOUT_NAME]\r\n\r\n\r\nThemed (generates Bootstrap compatible scaffold views.) - (Haml and Slim supported)\r\n\r\n\r\nUsage:\r\n\r\n\r\n    rails g bootstrap:themed [RESOURCE_NAME]\r\n\r\n\r\nExample:\r\n\r\n\r\n    rails g scaffold Post title:string description:text\r\n    rake db:migrate\r\n    rails g bootstrap:themed Posts\r\n\r\nNotice the plural usage of the resource to generate bootstrap:themed.\r\n\r\n## Using with Less\r\n\r\nBootstrap was built with Preboot, an open-source pack of mixins and variables to be used in conjunction with Less, a CSS preprocessor for faster and easier web development.\r\n\r\n## Using stylesheets with Less\r\n\r\nYou have to require Bootstrap LESS (bootstrap_and_overrides.css.less) in your application.css\r\n\r\n```css\r\n/*\r\n *= require bootstrap_and_overrides\r\n */\r\n\r\n/* Your stylesheets goes here... */\r\n```\r\n\r\nTo use individual components from bootstrap, your bootstrap_and_overrides.less could look like this:\r\n\r\n```less\r\n// Core variables and mixins\r\n@import \"twitter/bootstrap/variables.less\";\r\n@import \"twitter/bootstrap/mixins.less\";\r\n\r\n// Reset and dependencies\r\n@import \"twitter/bootstrap/normalize.less\";\r\n@import \"twitter/bootstrap/print.less\";\r\n//@import \"twitter/bootstrap/glyphicons.less\"; // Excludes glyphicons\r\n\r\n// Core CSS\r\n@import \"twitter/bootstrap/scaffolding.less\";\r\n@import \"twitter/bootstrap/type.less\";\r\n@import \"twitter/bootstrap/code.less\";\r\n@import \"twitter/bootstrap/grid.less\";\r\n@import \"twitter/bootstrap/tables.less\";\r\n@import \"twitter/bootstrap/forms.less\";\r\n@import \"twitter/bootstrap/buttons.less\";\r\n\r\n// Components\r\n@import \"twitter/bootstrap/component-animations.less\";\r\n@import \"twitter/bootstrap/dropdowns.less\";\r\n@import \"twitter/bootstrap/button-groups.less\";\r\n@import \"twitter/bootstrap/input-groups.less\";\r\n@import \"twitter/bootstrap/navs.less\";\r\n@import \"twitter/bootstrap/navbar.less\";\r\n@import \"twitter/bootstrap/breadcrumbs.less\";\r\n@import \"twitter/bootstrap/pagination.less\";\r\n@import \"twitter/bootstrap/pager.less\";\r\n@import \"twitter/bootstrap/labels.less\";\r\n@import \"twitter/bootstrap/badges.less\";\r\n@import \"twitter/bootstrap/jumbotron.less\";\r\n@import \"twitter/bootstrap/thumbnails.less\";\r\n@import \"twitter/bootstrap/alerts.less\";\r\n@import \"twitter/bootstrap/progress-bars.less\";\r\n@import \"twitter/bootstrap/media.less\";\r\n@import \"twitter/bootstrap/list-group.less\";\r\n@import \"twitter/bootstrap/panels.less\";\r\n@import \"twitter/bootstrap/responsive-embed.less\";\r\n@import \"twitter/bootstrap/wells.less\";\r\n@import \"twitter/bootstrap/close.less\";\r\n\r\n// Components w/ JavaScript\r\n@import \"twitter/bootstrap/modals.less\";\r\n@import \"twitter/bootstrap/tooltip.less\";\r\n@import \"twitter/bootstrap/popovers.less\";\r\n@import \"twitter/bootstrap/carousel.less\";\r\n\r\n// Utility classes\r\n@import \"twitter/bootstrap/utilities.less\";\r\n@import \"twitter/bootstrap/responsive-utilities.less\";\r\n```\r\n\r\nIf you'd like to alter Bootstrap's own variables, or define your LESS\r\nstyles inheriting Bootstrap's mixins, you can do so inside bootstrap_and_overrides.css.less:\r\n\r\n\r\n```less\r\n@link-color: #ff0000;\r\n```\r\n\r\n### SASS\r\n\r\nIf you are using SASS to compile your application.css (e.g. your manifest file is application.css.sass or application.css.scss) you may get this:\r\n\r\n```\r\nInvalid CSS after \"*\": expected \"{\", was \"= require twitt...\"\r\n(in app/assets/stylesheets/application.css)\r\n(sass)\r\n```\r\n\r\nIf this is the case, you **must** use @import instead of `*=` in your manifest file, or don't compile your manifest with SASS.\r\n\r\n### Icons\r\n\r\nBy default, this gem (when using less generator) won't enable standard Bootstraps's Glyphicons.\r\n\r\nIf you would like to restore the default Glyphicons, inside the generated `bootstrap_and_overrides.css.less` uncomment these lines:\r\n\r\n```less\r\n// Glyphicons are not required by default, uncomment the following lines to enable them.\r\n@glyphiconsEotPath: font-url(\"glyphicons-halflings-regular.eot\");\r\n@glyphiconsEotPath_iefix: font-url(\"glyphicons-halflings-regular.eot?#iefix\");\r\n@glyphiconsWoffPath: font-url(\"glyphicons-halflings-regular.woff\");\r\n@glyphiconsTtfPath: font-url(\"glyphicons-halflings-regular.ttf\");\r\n@glyphiconsSvgPath: font-url(\"glyphicons-halflings-regular.svg#glyphicons_halflingsregular\");\r\n\r\n@import \"twitter/bootstrap/glyphicons.less\";\r\n```\r\n\r\nThis gem was used to bundle the excellent [Font-Awesome](http://fortawesome.github.io/Font-Awesome/) library.\r\nHowever that was another maintenance effort that is not worth to do here.\r\n\r\nFor Rails projects that need it there is the [font-awesome-rails gem](https://github.com/bokmann/font-awesome-rails) that\r\nprovides same functionality that this gems was used to provide and it also have some other interesting features (e.g. view helpers).\r\n\r\n## Using JavaScript\r\n\r\nRequire Bootstrap JS (bootstrap.js) in your application.js\r\n\r\n```js\r\n//= require twitter/bootstrap\r\n\r\n$(function(){\r\n  /* Your JavaScript goes here... */\r\n});\r\n```\r\n\r\nIf you want to customize what is loaded, your application.js would look something like this\r\n\r\n```js\r\n#= require jquery\r\n#= require jquery_ujs\r\n#= require twitter/bootstrap/transition\r\n#= require twitter/bootstrap/alert\r\n#= require twitter/bootstrap/modal\r\n#= require twitter/bootstrap/button\r\n#= require twitter/bootstrap/collapse\r\n```\r\n\r\n...and so on for each bootstrap js component.\r\n\r\n## Using CoffeeScript (optionally)\r\n\r\nUsing Bootstrap with the CoffeeScript is easy.\r\ntwitter-bootstrap-rails generates a \"bootstrap.js.coffee\" file for you\r\nto /app/assets/javascripts/ folder.\r\n\r\n```coffee\r\njQuery -\u003e\r\n  $(\"a[rel~=popover], .has-popover\").popover()\r\n  $(\"a[rel~=tooltip], .has-tooltip\").tooltip()\r\n```\r\n\r\n## Using Helpers\r\n\r\n### Modal Helper\r\nYou can create modals easily using the following example. The header, body, and footer all accept content_tag or plain html.\r\nThe href of the button to launch the modal must match the id of the modal dialog. It also accepts a block for the header, body, and footer. If you are getting a complaint about the modal_helper unable to merge a hash it is due to this.\r\n\r\n```erb\r\n\u003c%= content_tag :a, \"Modal\", href: \"#modal\", class: 'btn', data: {toggle: 'modal'} %\u003e\r\n\r\n\u003c%= modal_dialog id: \"modal\",\r\n         header: { show_close: true, dismiss: 'modal', title: 'Modal header' },\r\n         body:   { content: 'This is the body' },\r\n         footer: { content: content_tag(:button, 'Save', class: 'btn') } %\u003e\r\n\r\n```\r\n\r\n### Navbar Helper\r\nIt should let you write things like:\r\n\r\n```erb\r\n\u003c%= nav_bar fixed: :top, brand: \"Fashionable Clicheizr 2.0\", responsive: true do %\u003e\r\n    \u003c%= menu_group do %\u003e\r\n        \u003c%= menu_item \"Home\", root_path %\u003e\r\n        \u003c%= menu_divider %\u003e\r\n        \u003c%= drop_down \"Products\" do %\u003e\r\n            \u003c%= menu_item \"Things you can't afford\", expensive_products_path %\u003e\r\n            \u003c%= menu_item \"Things that won't suit you anyway\", harem_pants_path %\u003e\r\n            \u003c%= menu_item \"Things you're not even cool enough to buy anyway\", hipster_products_path %\u003e\r\n            \u003c% if current_user.lives_in_hackney? %\u003e\r\n                \u003c%= menu_item \"Bikes\", fixed_wheel_bikes_path %\u003e\r\n            \u003c% end %\u003e\r\n        \u003c% end %\u003e\r\n        \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n        \u003c%= menu_item \"Contact\", contact_path %\u003e\r\n    \u003c% end %\u003e\r\n    \u003c%= menu_group pull: :right do %\u003e\r\n        \u003c% if current_user %\u003e\r\n            \u003c%= menu_item \"Log Out\", log_out_path %\u003e\r\n        \u003c% else %\u003e\r\n            \u003c%= form_for @user, url: session_path(:user), html =\u003e {class: \"navbar-form pull-right\"} do |f| -%\u003e\r\n              \u003cp\u003e\u003c%= f.text_field :email %\u003e\u003c/p\u003e\r\n              \u003cp\u003e\u003c%= f.password_field :password %\u003e\u003c/p\u003e\r\n              \u003cp\u003e\u003c%= f.submit \"Sign in\" %\u003e\u003c/p\u003e\r\n            \u003c% end -%\u003e\r\n        \u003c% end %\u003e\r\n    \u003c% end %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\n### Navbar scaffolding\r\n\r\nIn your view file (most likely application.html.erb) to get a basic navbar set up you need to do this:\r\n\r\n```erb\r\n\u003c%= nav_bar %\u003e\r\n```\r\n\r\nWhich will render:\r\n\r\n```html\r\n\u003cdiv class=\"navbar\"\u003e\r\n  \u003cdiv class=\"container\"\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n```\r\n\r\n### Fixed navbar\r\n\r\nIf you want the navbar to stick to the top of the screen, pass in the option like this:\r\n\r\n```erb\r\n\u003c%= nav_bar fixed: :top  %\u003e\r\n```\r\n\r\nTo render:\r\n\r\n```html\r\n\u003cdiv class=\"navbar navbar-fixed-top\"\u003e\r\n  \u003cdiv class=\"container\"\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n```\r\n\r\n### Static navbar\r\n\r\nIf you want a full-width navbar that scrolls away with the page, pass in the option like this:\r\n\r\n```erb\r\n\u003c%= nav_bar static: :top  %\u003e\r\n```\r\n\r\nTo render:\r\n\r\n```html\r\n\u003cdiv class=\"navbar navbar-static-top\"\u003e\r\n  \u003cdiv class=\"container\"\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n```\r\n\r\n### Brand name\r\n\r\nAdd the name of your site on the left hand edge of the navbar. By default, it will link to root_url. Passing a brand_link option will set the url to whatever you want.\r\n\r\n```erb\r\n\u003c%= nav_bar brand: \"We're sooo web 2.0alizr\", brand_link: account_dashboard_path  %\u003e\r\n```\r\n\r\nWhich will render:\r\n\r\n```html\r\n\u003cdiv class=\"navbar\"\u003e\r\n  \u003cdiv class=\"container\"\u003e\r\n      \u003ca class=\"navbar-brand\" href=\"/accounts/dashboard\"\u003e\r\n        We're sooo web 2.0alizr\r\n      \u003c/a\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n```\r\n\r\n### Optional responsive variation\r\n\r\nIf you want the responsive version of the navbar to work (One that shrinks down on mobile devices etc.), you need to pass this option:\r\n\r\n```erb\r\n\u003c%= nav_bar responsive: true %\u003e\r\n```\r\n\r\nWhich renders the html quite differently:\r\n\r\n```html\r\n\u003cdiv class=\"navbar\"\u003e\r\n  \u003cdiv class=\"container\"\u003e\r\n    \u003c!-- .navbar-toggle is used as the toggle for collapsed navbar content --\u003e\r\n    \u003cbutton type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\"\u003e\r\n      \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\r\n      \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\r\n      \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\r\n    \u003c/button\u003e\r\n    \u003c!-- Everything in here gets hidden at 940px or less --\u003e\r\n    \u003cdiv class=\"navbar-collapse collapse\"\u003e\r\n      \u003c!-- menu items gets rendered here instead --\u003e\r\n    \u003c/div\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n```\r\n\r\n### Nav links\r\n\r\nThis is the 'meat' of the code where you define your menu items.\r\n\r\nYou can group menu items in theoretical boxes which you can apply logic to - e.g. show different collections for logged in users/logged out users, or simply right align a group.\r\n\r\nThe active menu item will be inferred from the link for now.\r\n\r\nThe important methods here are menu_group and menu_item.\r\n\r\nmenu_group only takes one argument - :pull - this moves the group left or right when passed :left or :right.\r\n\r\nmenu_item generates a link wrapped in an li tag. It takes two arguments and an options hash. The first argument is the name (the text that will appear in the menu), and the path (which defaults to \"#\" if left blank). The rest of the options are passed straight through to the link_to helper, so that you can add classes, ids, methods or data tags etc.\r\n\r\n```erb\r\n\u003c%= nav_bar fixed: :top, brand: \"Ninety Ten\" do %\u003e\r\n    \u003c%= menu_group do %\u003e\r\n        \u003c%= menu_item \"Home\", root_path %\u003e\r\n        \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n        \u003c%= menu_item \"Contact\", contact_path %\u003e\r\n    \u003c% end %\u003e\r\n    \u003c% if current_user %\u003e\r\n        \u003c%= menu_item \"Log Out\", log_out_path %\u003e\r\n    \u003c% else %\u003e\r\n        \u003c%= menu_group pull: :right do %\u003e\r\n            \u003c%= menu_item \"Sign Up\", registration_path %\u003e\r\n            \u003c%= form_for @user, url: session_path(:user) do |f| -%\u003e\r\n              \u003cp\u003e\u003c%= f.text_field :email %\u003e\u003c/p\u003e\r\n              \u003cp\u003e\u003c%= f.password_field :password %\u003e\u003c/p\u003e\r\n              \u003cp\u003e\u003c%= f.submit \"Sign in\" %\u003e\u003c/p\u003e\r\n            \u003c% end -%\u003e\r\n        \u003c% end %\u003e\r\n    \u003c% end %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\n### Dropdown menus\r\n\r\nFor multi-level list options, where it makes logical sense to group menu items, or simply to save space if you have a lot of pages, you can group menu items into drop down lists like this:\r\n\r\n```erb\r\n\u003c%= nav_bar do %\u003e\r\n    \u003c%= menu_item \"Home\", root_path %\u003e\r\n\r\n    \u003c%= drop_down \"Products\" do %\u003e\r\n        \u003c%= menu_item \"Latest\", latest_products_path %\u003e\r\n        \u003c%= menu_item \"Top Sellers\", popular_products_path %\u003e\r\n        \u003c%= drop_down_divider %\u003e\r\n        \u003c%= menu_item \"Discount Items\", discounted_products_path %\u003e\r\n    \u003c% end %\u003e\r\n\r\n    \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n    \u003c%= menu_item \"Contact\", contact_path %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\n### Dividers\r\n\r\nDividers are just vertical bars that visually separate logically disparate groups of menu items\r\n\r\n```erb\r\n\u003c%= nav_bar fixed: :bottom do %\u003e\r\n    \u003c%= menu_item \"Home\", root_path %\u003e\r\n    \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n    \u003c%= menu_item \"Contact\", contact_path %\u003e\r\n\r\n    \u003c%= menu_divider %\u003e\r\n\r\n    \u003c%= menu_item \"Edit Profile\", edit_user_path(current_user) %\u003e\r\n    \u003c%= menu_item \"Account Settings\", edit_user_account_path(current_user, @account) %\u003e\r\n    \u003c%= menu_item \"Log Out\", log_out_path %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\n### Forms in navbar\r\n\r\nAt the moment - this is just a how to...\r\n\r\nYou need to add this class to the form itself (Different form builders do this in different ways - please check out the relevant docs)\r\n\r\n```css\r\n.navbar-form\r\n```\r\nTo pull the form left or right, add either of these classes:\r\n```css\r\n.pull-left\r\n.pull-right\r\n```\r\n\r\nIf you want the Bootstrap search box (I think it just rounds the corners), use:\r\n```css\r\n.navbar-search\r\n```\r\nInstead of:\r\n```css\r\n.navbar-form\r\n```\r\n\r\nTo change the size of the form fields, use .span2 (or however many span widths you want) to the input itself.\r\n\r\n### Component alignment\r\n\r\nYou can shift things to the left or the right across the nav bar. It's easiest to do this on grouped menu items:\r\n\r\n```erb\r\n\u003c%= nav_bar fixed: :bottom do %\u003e\r\n    \u003c% menu_group do %\u003e\r\n        \u003c%= menu_item \"Home\", root_path %\u003e\r\n        \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n        \u003c%= menu_item \"Contact\", contact_path %\u003e\r\n    \u003c% end %\u003e\r\n    \u003c% menu_group pull: :right do %\u003e\r\n        \u003c%= menu_item \"Edit Profile\", edit_user_path(current_user) %\u003e\r\n        \u003c%= menu_item \"Account Settings\", edit_user_account_path(current_user, @account) %\u003e\r\n        \u003c%= menu_item \"Log Out\", log_out_path %\u003e\r\n    \u003c% end %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\n### Text in the navbar\r\n\r\nIf you want to put regular plain text in the navbar anywhere, you do it like this:\r\n\r\n```erb\r\n\u003c%= nav_bar brand: \"Apple\" do %\u003e\r\n    \u003c%= menu_text \"We make shiny things\" %\u003e\r\n    \u003c%= menu_item \"Home\", root_path %\u003e\r\n    \u003c%= menu_item \"About Us\", about_us_path %\u003e\r\n\u003c% end %\u003e\r\n```\r\n\r\nIt also takes the :pull option to drag it to the left or right.\r\n\r\n### Flash helper\r\n\r\nAdd flash helper `\u003c%= bootstrap_flash %\u003e` to your layout (built-in with layout generator).\r\nYou can pass the attributes you want to add to the main div returned: `\u003c%= bootstrap_flash(class: \"extra-class\", id: \"your-id\") %\u003e`\r\n\r\n\r\n### Breadcrumbs Helpers\r\n\r\n*Notice* If your application is using [breadcrumbs-on-rails](https://github.com/weppos/breadcrumbs_on_rails) you will have a namespace collision with the add_breadcrumb method. For this reason if breadcrumbs-on-rails is detected in `Gemfile` gem methods will be accessible using `boostrap` prefix, i.e. `render_bootstrap_breadcrumbs` and `add_bootstrap_breadcrumb`\r\n\r\nUsually you do not need to use these breadcrumb gems since this gem provides the same functionality out of the box without the additional dependency.\r\n\r\nHowever if there are some `breadcrumbs-on-rails` features you need to keep you can still use them and use this gem with the prefixes explained above.\r\n\r\nAdd breadcrumbs helper `\u003c%= render_breadcrumbs %\u003e` to your layout.\r\nYou can also specify a divider for it like this: `\u003c%= render_breadcrumbs('\u003e') %\u003e` (default divider is `/`).\r\nIf you do not need dividers at all you can use `nil`: `\u003c%= render_breadcrumbs(nil) %\u003e`.\r\n\r\nFull example:\r\n```ruby\r\n\r\nrender_breadcrumbs(\" / \", { class: '', item_class: '', divider_class: '', active_class: 'active' })\r\n\r\n```\r\n\r\n```ruby\r\nclass ApplicationController\r\n  add_breadcrumb :root # 'root_path' will be used as url\r\nend\r\n```\r\n\r\n```ruby\r\nclass ExamplesController \u003c ApplicationController\r\n  add_breadcrumb :index, :examples_path\r\n\r\n  def edit\r\n    @example = Example.find params[:id]\r\n    add_breadcrumb @example # @example.to_s as name, example_path(@example) as url\r\n    add_breadcrumb :edit, edit_example_path(@example)\r\n  end\r\nend\r\n```\r\nAll symbolic names translated with I18n. See [I18n Internationalization Support](#i18n-internationalization-support)\r\nsection.\r\n\r\n### Element utility helpers\r\n\r\nBadge:\r\n```erb\r\n\u003c%= badge(12, :warning) %\u003e \u003cspan class=\"badge badge-warning\"\u003e12\u003c/span\u003e\r\n```\r\n\r\nLabel:\r\n```erb\r\n\u003c%= tag_label('Gut!', :success) %\u003e \u003cspan class=\"label label-success\"\u003eGut!\u003c/span\u003e\r\n```\r\n\r\nGlyph:\r\n```erb\r\n\u003c%= glyph(:pencil) %\u003e \u003ci class=\"icon-pencil\"\u003e\u003c/i\u003e\r\n\r\n\u003c%= glyph(:pencil, {tag: :span}) %\u003e \u003cspan class=\"icon-pencil\"\u003e\u003c/span\u003e\r\n\r\n\u003c%= glyph(:pencil, {class: 'foo'}) %\u003e \u003ci class=\"icon-pencil foo\"\u003e\u003c/i\u003e\r\n```\r\n\r\n### I18n Internationalization Support\r\nThe installer creates an English translation file for you and copies it to config/locales/en.bootstrap.yml\r\n\r\n\r\nNOTE: If you are using Devise in your project, you must have a devise locale file\r\nfor handling flash messages, even if those messages are blank. See https://github.com/plataformatec/devise/wiki/I18n\r\n\r\n## Changelog\r\nPlease see CHANGELOG.md for more details\r\n\r\n## Contributors \u0026 Patches \u0026 Forks\r\nPlease see CONTRIBUTERS.md for contributors list\r\n\r\n## About Me\r\nSenior Software Developer Istanbul / Turkey\r\nseyhunak [at] gmail com\r\n\r\n## Hire Me\r\n[![Hire Me !](https://img.shields.io/badge/Hire%20Me-for%20your%20project%20on%20PPH-red?s?style=social\u0026logo=ios\u0026logoColor=blue\u0026labelColor=black\u0026color=blue)](http://pph.me/seyhunak)\r\n\r\n## Thanks\r\nBootstrap and all twitter-bootstrap-rails contributors\r\nhttp://twbs.github.io/bootstrap\r\n\r\n## Backers\r\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/twitter-bootstrap-rails#backer)]\r\n\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/0/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/1/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/2/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/3/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/4/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/5/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/6/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/7/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/8/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/9/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/10/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/11/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/12/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/13/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/14/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/15/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/16/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/17/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/18/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/19/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/20/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/21/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/22/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/23/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/24/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/25/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/26/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/27/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/28/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/backer/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/backer/29/avatar.svg\"\u003e\u003c/a\u003e\r\n\r\n## Sponsors\r\nBecome a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/twitter-bootstrap-rails#sponsor)]\r\n\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/10/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/11/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/12/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/13/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/14/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/15/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/16/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/17/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/18/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/19/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/20/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/21/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/22/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/23/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/24/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/25/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/26/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/27/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/28/avatar.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/twitter-bootstrap-rails/sponsor/29/avatar.svg\"\u003e\u003c/a\u003e\r\n\r\n## License\r\nCopyright (c) 2017 (since 2012) by Seyhun Akyürek\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseyhunak%2Ftwitter-bootstrap-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseyhunak%2Ftwitter-bootstrap-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseyhunak%2Ftwitter-bootstrap-rails/lists"}