bootstrap_it 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.rubocop.yml +5 -0
- data/Gemfile +9 -0
- data/README.md +582 -0
- data/Rakefile +6 -0
- data/bootstrap_it.gemspec +33 -0
- data/config.ru +7 -0
- data/lib/bootstrap_it.rb +9 -0
- data/lib/bootstrap_it/assets.rb +67 -0
- data/lib/bootstrap_it/config.rb +50 -0
- data/lib/bootstrap_it/engine.rb +25 -0
- data/lib/bootstrap_it/locales/en.yml +4 -0
- data/lib/bootstrap_it/locales/ru.yml +4 -0
- data/lib/bootstrap_it/version.rb +6 -0
- data/lib/bootstrap_it/view_helpers.rb +55 -0
- data/lib/bootstrap_it/view_helpers/breadcrumb.rb +19 -0
- data/lib/bootstrap_it/view_helpers/button.rb +116 -0
- data/lib/bootstrap_it/view_helpers/button_group.rb +32 -0
- data/lib/bootstrap_it/view_helpers/button_toolbar.rb +21 -0
- data/lib/bootstrap_it/view_helpers/dropdown_menu.rb +30 -0
- data/lib/bootstrap_it/view_helpers/form.rb +127 -0
- data/lib/bootstrap_it/view_helpers/grid.rb +75 -0
- data/lib/bootstrap_it/view_helpers/icon.rb +24 -0
- data/lib/bootstrap_it/view_helpers/list.rb +47 -0
- data/lib/bootstrap_it/view_helpers/misc.rb +144 -0
- data/lib/bootstrap_it/view_helpers/mixin.rb +279 -0
- data/lib/bootstrap_it/view_helpers/nav.rb +96 -0
- data/lib/bootstrap_it/view_helpers/pagination.rb +34 -0
- data/lib/bootstrap_it/view_helpers/table.rb +72 -0
- data/lib/bootstrap_it/view_helpers/text.rb +46 -0
- data/spec/assets/assets_spec.rb +51 -0
- data/spec/internal/app/assets/javascript/application.js +7 -0
- data/spec/internal/app/assets/javascript/user.js +1 -0
- data/spec/internal/app/assets/javascript/userfont.eot +0 -0
- data/spec/internal/app/assets/stylesheets/application.css +6 -0
- data/spec/internal/app/assets/stylesheets/user.css +1 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/lib/config_spec.rb +10 -0
- data/spec/lib/view_helpers_spec.rb +12 -0
- data/spec/spec_helper.rb +37 -0
- data/spec/support/example_groups/assets_example_group.rb +84 -0
- data/spec/support/example_groups/view_helpers_example_group.rb +124 -0
- data/spec/view_helpers/breadcrumb_spec.rb +12 -0
- data/spec/view_helpers/button_group_spec.rb +40 -0
- data/spec/view_helpers/button_spec.rb +169 -0
- data/spec/view_helpers/button_toolbar_spec.rb +14 -0
- data/spec/view_helpers/dropdown_menu_spec.rb +41 -0
- data/spec/view_helpers/form_spec.rb +27 -0
- data/spec/view_helpers/grid_spec.rb +47 -0
- data/spec/view_helpers/icon_spec.rb +6 -0
- data/spec/view_helpers/list_spec.rb +50 -0
- data/spec/view_helpers/misc_spec.rb +117 -0
- data/spec/view_helpers/mixin_spec.rb +177 -0
- data/spec/view_helpers/nav_spec.rb +63 -0
- data/spec/view_helpers/pagination_spec.rb +36 -0
- data/spec/view_helpers/table_spec.rb +59 -0
- data/spec/view_helpers/text_spec.rb +13 -0
- data/spec/views/examples_spec.rb +250 -0
- data/upstream/bootstrap-3.0.3-dist.zip +0 -0
- data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.eot +0 -0
- data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.svg +229 -0
- data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.woff +0 -0
- data/upstream/bootstrap/3.0.3/javascript/bootstrap.js +2006 -0
- data/upstream/bootstrap/3.0.3/javascript/bootstrap.min.js +7 -0
- data/upstream/bootstrap/3.0.3/src/.editorconfig +11 -0
- data/upstream/bootstrap/3.0.3/src/.gitattributes +8 -0
- data/upstream/bootstrap/3.0.3/src/.gitignore +42 -0
- data/upstream/bootstrap/3.0.3/src/.travis.yml +10 -0
- data/upstream/bootstrap/3.0.3/src/CNAME +1 -0
- data/upstream/bootstrap/3.0.3/src/CONTRIBUTING.md +79 -0
- data/upstream/bootstrap/3.0.3/src/DOCS-LICENSE +319 -0
- data/upstream/bootstrap/3.0.3/src/Gruntfile.js +337 -0
- data/upstream/bootstrap/3.0.3/src/LICENSE +176 -0
- data/upstream/bootstrap/3.0.3/src/LICENSE-MIT +21 -0
- data/upstream/bootstrap/3.0.3/src/README.md +166 -0
- data/upstream/bootstrap/3.0.3/src/_config.yml +25 -0
- data/upstream/bootstrap/3.0.3/src/_includes/ads.html +1 -0
- data/upstream/bootstrap/3.0.3/src/_includes/footer.html +48 -0
- data/upstream/bootstrap/3.0.3/src/_includes/header.html +42 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-about.html +12 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-components.html +137 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-css.html +99 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-customize.html +40 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-getting-started.html +48 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-javascript.html +88 -0
- data/upstream/bootstrap/3.0.3/src/_includes/nav-main.html +37 -0
- data/upstream/bootstrap/3.0.3/src/_includes/old-bs-docs.html +8 -0
- data/upstream/bootstrap/3.0.3/src/_includes/social-buttons.html +16 -0
- data/upstream/bootstrap/3.0.3/src/_layouts/default.html +79 -0
- data/upstream/bootstrap/3.0.3/src/_layouts/home.html +47 -0
- data/upstream/bootstrap/3.0.3/src/about.html +94 -0
- data/upstream/bootstrap/3.0.3/src/bower.json +30 -0
- data/upstream/bootstrap/3.0.3/src/components.html +3714 -0
- data/upstream/bootstrap/3.0.3/src/composer.json +25 -0
- data/upstream/bootstrap/3.0.3/src/css.html +2673 -0
- data/upstream/bootstrap/3.0.3/src/customize.html +1715 -0
- data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap-theme.css +397 -0
- data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap-theme.min.css +7 -0
- data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap.css +7118 -0
- data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap.min.css +7 -0
- data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.svg +229 -0
- data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/upstream/bootstrap/3.0.3/src/dist/js/bootstrap.js +2006 -0
- data/upstream/bootstrap/3.0.3/src/dist/js/bootstrap.min.js +7 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/css/docs.css +1196 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/css/pygments-manni.css +66 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/ico/apple-touch-icon-144-precomposed.png +0 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/ico/favicon.png +0 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/application.js +103 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/customizer.js +332 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/filesaver.js +399 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/holder.js +500 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/ie8-responsive-file-warning.js +12 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/jszip.js +1474 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/less.js +9 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/raw-files.js +3 -0
- data/upstream/bootstrap/3.0.3/src/docs-assets/js/uglify.js +14 -0
- data/upstream/bootstrap/3.0.3/src/examples/carousel/carousel.css +148 -0
- data/upstream/bootstrap/3.0.3/src/examples/carousel/index.html +206 -0
- data/upstream/bootstrap/3.0.3/src/examples/grid/grid.css +28 -0
- data/upstream/bootstrap/3.0.3/src/examples/grid/index.html +148 -0
- data/upstream/bootstrap/3.0.3/src/examples/jumbotron-narrow/index.html +82 -0
- data/upstream/bootstrap/3.0.3/src/examples/jumbotron-narrow/jumbotron-narrow.css +79 -0
- data/upstream/bootstrap/3.0.3/src/examples/jumbotron/index.html +99 -0
- data/upstream/bootstrap/3.0.3/src/examples/jumbotron/jumbotron.css +5 -0
- data/upstream/bootstrap/3.0.3/src/examples/justified-nav/index.html +84 -0
- data/upstream/bootstrap/3.0.3/src/examples/justified-nav/justified-nav.css +88 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar-fixed-top/index.html +91 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar-fixed-top/navbar-fixed-top.css +4 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar-static-top/index.html +92 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar-static-top/navbar-static-top.css +7 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar/index.html +88 -0
- data/upstream/bootstrap/3.0.3/src/examples/navbar/navbar.css +8 -0
- data/upstream/bootstrap/3.0.3/src/examples/non-responsive/index.html +101 -0
- data/upstream/bootstrap/3.0.3/src/examples/non-responsive/non-responsive.css +120 -0
- data/upstream/bootstrap/3.0.3/src/examples/offcanvas/index.html +130 -0
- data/upstream/bootstrap/3.0.3/src/examples/offcanvas/offcanvas.css +51 -0
- data/upstream/bootstrap/3.0.3/src/examples/offcanvas/offcanvas.js +5 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/carousel.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/grid.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/jumbotron-narrow.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/jumbotron.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/justified-nav.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar-fixed.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar-static.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/non-responsive.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/offcanvas.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/sign-in.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/starter-template.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/sticky-footer-navbar.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/sticky-footer.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/screenshots/theme.jpg +0 -0
- data/upstream/bootstrap/3.0.3/src/examples/signin/index.html +50 -0
- data/upstream/bootstrap/3.0.3/src/examples/signin/signin.css +40 -0
- data/upstream/bootstrap/3.0.3/src/examples/starter-template/index.html +68 -0
- data/upstream/bootstrap/3.0.3/src/examples/starter-template/starter-template.css +7 -0
- data/upstream/bootstrap/3.0.3/src/examples/sticky-footer-navbar/index.html +91 -0
- data/upstream/bootstrap/3.0.3/src/examples/sticky-footer-navbar/sticky-footer-navbar.css +45 -0
- data/upstream/bootstrap/3.0.3/src/examples/sticky-footer/index.html +55 -0
- data/upstream/bootstrap/3.0.3/src/examples/sticky-footer/sticky-footer.css +38 -0
- data/upstream/bootstrap/3.0.3/src/examples/theme/index.html +384 -0
- data/upstream/bootstrap/3.0.3/src/examples/theme/theme.css +14 -0
- data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.eot +0 -0
- data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.svg +229 -0
- data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.woff +0 -0
- data/upstream/bootstrap/3.0.3/src/getting-started.html +1057 -0
- data/upstream/bootstrap/3.0.3/src/index.html +16 -0
- data/upstream/bootstrap/3.0.3/src/javascript.html +1995 -0
- data/upstream/bootstrap/3.0.3/src/js/.jshintrc +14 -0
- data/upstream/bootstrap/3.0.3/src/js/affix.js +126 -0
- data/upstream/bootstrap/3.0.3/src/js/alert.js +98 -0
- data/upstream/bootstrap/3.0.3/src/js/button.js +115 -0
- data/upstream/bootstrap/3.0.3/src/js/carousel.js +217 -0
- data/upstream/bootstrap/3.0.3/src/js/collapse.js +179 -0
- data/upstream/bootstrap/3.0.3/src/js/dropdown.js +154 -0
- data/upstream/bootstrap/3.0.3/src/js/modal.js +246 -0
- data/upstream/bootstrap/3.0.3/src/js/popover.js +117 -0
- data/upstream/bootstrap/3.0.3/src/js/scrollspy.js +158 -0
- data/upstream/bootstrap/3.0.3/src/js/tab.js +135 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/index.html +52 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/affix.js +25 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/alert.js +62 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/button.js +122 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/carousel.js +87 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/collapse.js +164 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/dropdown.js +219 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/modal.js +196 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/phantom.js +69 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/popover.js +133 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/scrollspy.js +37 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/tab.js +86 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/tooltip.js +437 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/unit/transition.js +13 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/vendor/jquery.js +6 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/vendor/qunit.css +232 -0
- data/upstream/bootstrap/3.0.3/src/js/tests/vendor/qunit.js +1510 -0
- data/upstream/bootstrap/3.0.3/src/js/tooltip.js +386 -0
- data/upstream/bootstrap/3.0.3/src/js/transition.js +56 -0
- data/upstream/bootstrap/3.0.3/src/less/alerts.less +67 -0
- data/upstream/bootstrap/3.0.3/src/less/badges.less +51 -0
- data/upstream/bootstrap/3.0.3/src/less/bootstrap.less +49 -0
- data/upstream/bootstrap/3.0.3/src/less/breadcrumbs.less +23 -0
- data/upstream/bootstrap/3.0.3/src/less/button-groups.less +227 -0
- data/upstream/bootstrap/3.0.3/src/less/buttons.less +155 -0
- data/upstream/bootstrap/3.0.3/src/less/carousel.less +232 -0
- data/upstream/bootstrap/3.0.3/src/less/close.less +33 -0
- data/upstream/bootstrap/3.0.3/src/less/code.less +53 -0
- data/upstream/bootstrap/3.0.3/src/less/component-animations.less +29 -0
- data/upstream/bootstrap/3.0.3/src/less/dropdowns.less +187 -0
- data/upstream/bootstrap/3.0.3/src/less/forms.less +375 -0
- data/upstream/bootstrap/3.0.3/src/less/glyphicons.less +237 -0
- data/upstream/bootstrap/3.0.3/src/less/grid.less +79 -0
- data/upstream/bootstrap/3.0.3/src/less/input-groups.less +136 -0
- data/upstream/bootstrap/3.0.3/src/less/jumbotron.less +46 -0
- data/upstream/bootstrap/3.0.3/src/less/labels.less +64 -0
- data/upstream/bootstrap/3.0.3/src/less/list-group.less +88 -0
- data/upstream/bootstrap/3.0.3/src/less/media.less +56 -0
- data/upstream/bootstrap/3.0.3/src/less/mixins.less +845 -0
- data/upstream/bootstrap/3.0.3/src/less/modals.less +129 -0
- data/upstream/bootstrap/3.0.3/src/less/navbar.less +612 -0
- data/upstream/bootstrap/3.0.3/src/less/navs.less +242 -0
- data/upstream/bootstrap/3.0.3/src/less/normalize.less +406 -0
- data/upstream/bootstrap/3.0.3/src/less/pager.less +55 -0
- data/upstream/bootstrap/3.0.3/src/less/pagination.less +85 -0
- data/upstream/bootstrap/3.0.3/src/less/panels.less +182 -0
- data/upstream/bootstrap/3.0.3/src/less/popovers.less +133 -0
- data/upstream/bootstrap/3.0.3/src/less/print.less +105 -0
- data/upstream/bootstrap/3.0.3/src/less/progress-bars.less +80 -0
- data/upstream/bootstrap/3.0.3/src/less/responsive-utilities.less +209 -0
- data/upstream/bootstrap/3.0.3/src/less/scaffolding.less +119 -0
- data/upstream/bootstrap/3.0.3/src/less/tables.less +231 -0
- data/upstream/bootstrap/3.0.3/src/less/theme.less +247 -0
- data/upstream/bootstrap/3.0.3/src/less/thumbnails.less +36 -0
- data/upstream/bootstrap/3.0.3/src/less/tooltip.less +95 -0
- data/upstream/bootstrap/3.0.3/src/less/type.less +281 -0
- data/upstream/bootstrap/3.0.3/src/less/utilities.less +56 -0
- data/upstream/bootstrap/3.0.3/src/less/variables.less +642 -0
- data/upstream/bootstrap/3.0.3/src/less/wells.less +29 -0
- data/upstream/bootstrap/3.0.3/src/package.json +51 -0
- data/upstream/bootstrap/3.0.3/stylesheets/bootstrap-theme.css +397 -0
- data/upstream/bootstrap/3.0.3/stylesheets/bootstrap-theme.min.css +7 -0
- data/upstream/bootstrap/3.0.3/stylesheets/bootstrap.css +7118 -0
- data/upstream/bootstrap/3.0.3/stylesheets/bootstrap.min.css +7 -0
- data/upstream/font-awesome-4.0.3.zip +0 -0
- data/upstream/font-awesome/4.0.3/fonts/FontAwesome.otf +0 -0
- data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.eot +0 -0
- data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.svg +414 -0
- data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.ttf +0 -0
- data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.woff +0 -0
- data/upstream/font-awesome/4.0.3/stylesheets/font-awesome.css +1338 -0
- data/upstream/font-awesome/4.0.3/stylesheets/font-awesome.min.css +4 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/bordered-pulled.less +16 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/core.less +12 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/fixed-width.less +6 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/font-awesome.less +17 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/icons.less +412 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/larger.less +13 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/list.less +19 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/mixins.less +20 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/path.less +14 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/rotated-flipped.less +9 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/spinning.less +30 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/stacked.less +20 -0
- data/upstream/font-awesome/4.0.3/stylesheets/less/variables.less +381 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_bordered-pulled.scss +16 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_core.scss +12 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_fixed-width.scss +6 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_icons.scss +412 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_larger.scss +13 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_list.scss +19 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_mixins.scss +20 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_path.scss +14 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_rotated-flipped.scss +9 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_spinning.scss +30 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_stacked.scss +20 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/_variables.scss +381 -0
- data/upstream/font-awesome/4.0.3/stylesheets/scss/font-awesome.scss +17 -0
- metadata +505 -0
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'bootstrap_it/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'bootstrap_it'
|
7
|
+
spec.version = BootstrapIt::VERSION
|
8
|
+
spec.authors = ['Alexey Ovchinnikov']
|
9
|
+
spec.email = ['alexey.ovchinnikov@yandex.ru']
|
10
|
+
spec.description = %q{Bootstrap wrapper for rails}
|
11
|
+
spec.summary = 'This package provides helpers for easly creating' \
|
12
|
+
'sites with <a href="http://getbootstrap.com">' \
|
13
|
+
'Twitter Bootstrap 3]</a> framework.'
|
14
|
+
spec.homepage = 'https://github.com/cybernetlab/bootstrap_it'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
spec.files = `git ls-files`.split($/)
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ['lib']
|
21
|
+
|
22
|
+
spec.add_dependency 'rails', '~> 4.0.0'
|
23
|
+
spec.add_dependency 'wrap_it'
|
24
|
+
|
25
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
26
|
+
spec.add_development_dependency 'rake'
|
27
|
+
spec.add_development_dependency 'redcarpet', '~> 1.17'
|
28
|
+
spec.add_development_dependency 'yard', '~> 0.7.5'
|
29
|
+
spec.add_development_dependency 'rspec'
|
30
|
+
spec.add_development_dependency 'rspec-rails'
|
31
|
+
spec.add_development_dependency 'combustion'
|
32
|
+
spec.add_development_dependency 'capybara'
|
33
|
+
end
|
data/config.ru
ADDED
data/lib/bootstrap_it.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
module Assets
|
4
|
+
#
|
5
|
+
class JSDirectiveProcessor < Sprockets::DirectiveProcessor
|
6
|
+
def process_require_directive file
|
7
|
+
if file == 'bootstrap_it'
|
8
|
+
super 'bootstrap'
|
9
|
+
else
|
10
|
+
super
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
class CSSDirectiveProcessor < Sprockets::DirectiveProcessor
|
17
|
+
def process_require_directive(file)
|
18
|
+
if file == 'bootstrap_it'
|
19
|
+
super 'bootstrap'
|
20
|
+
super 'font-awesome' if BootstrapIt.config.font_awesome
|
21
|
+
else
|
22
|
+
super
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.register(assets)
|
28
|
+
assets.unregister_preprocessor(
|
29
|
+
'application/javascript',
|
30
|
+
Sprockets::DirectiveProcessor
|
31
|
+
)
|
32
|
+
assets.register_preprocessor(
|
33
|
+
'application/javascript',
|
34
|
+
JSDirectiveProcessor
|
35
|
+
)
|
36
|
+
assets.unregister_preprocessor('text/css', Sprockets::DirectiveProcessor)
|
37
|
+
assets.register_preprocessor('text/css', CSSDirectiveProcessor)
|
38
|
+
config = BootstrapIt.config
|
39
|
+
Rails.application.config.assets.paths << Engine.root.join(
|
40
|
+
'upstream', 'bootstrap', config.bootstrap_version, 'javascript'
|
41
|
+
)
|
42
|
+
Rails.application.config.assets.paths << Engine.root.join(
|
43
|
+
'upstream', 'bootstrap', config.bootstrap_version, 'stylesheets'
|
44
|
+
)
|
45
|
+
if config.font_awesome
|
46
|
+
Rails.application.config.assets.paths << Engine.root.join(
|
47
|
+
'upstream', 'font-awesome',
|
48
|
+
config.font_awesome_version, 'stylesheets'
|
49
|
+
)
|
50
|
+
end
|
51
|
+
Rails.application.config.assets.precompile << proc do |file, path|
|
52
|
+
path == Engine.root.join(
|
53
|
+
'upstream', 'bootstrap',
|
54
|
+
config.bootstrap_version,
|
55
|
+
'fonts'
|
56
|
+
) &&
|
57
|
+
file =~ /\.(otf|eot|svg|ttf|woff)/ ||
|
58
|
+
path == Engine.root.join(
|
59
|
+
'upstream', 'font-awesome',
|
60
|
+
config.font_awesome_version,
|
61
|
+
'fonts'
|
62
|
+
) &&
|
63
|
+
file =~ /\.(otf|eot|svg|ttf|woff)/
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
#
|
2
|
+
module BootstrapIt
|
3
|
+
#
|
4
|
+
# Configuration
|
5
|
+
#
|
6
|
+
# @author [alexiss]
|
7
|
+
#
|
8
|
+
module Config
|
9
|
+
ASSETS_SOURCES = %i[cdn precompiled]
|
10
|
+
|
11
|
+
def self.font_awesome
|
12
|
+
@font_awesome = true unless instance_variable_defined?(:@font_awesome)
|
13
|
+
@font_awesome == true
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.font_awesome=(value)
|
17
|
+
@font_awesome = value == true
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.font_awesome_version
|
21
|
+
@font_awesome_version ||= BootstrapIt::FONTAWESOME_LATEST
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.font_awesome_version=(value)
|
25
|
+
return unless /\d+\.\d+\.\d+/ =~ value
|
26
|
+
@font_awesome_version = value
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.bootstrap_version
|
30
|
+
@bootstrap_version ||= BootstrapIt::BOOTSTRAP_LATEST
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.bootstrap_version=(value)
|
34
|
+
return unless /\d+\.\d+\.\d+/ =~ value
|
35
|
+
@bootstrap_version = value
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.assets_source
|
39
|
+
@assets_source ||= :precompiled
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.assets_source=(value)
|
43
|
+
@assets_source = ASSETS_SOURCES.include?(value) ? value : :precompiled
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.config
|
48
|
+
Config
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
class Engine < Rails::Engine
|
4
|
+
config.to_prepare do
|
5
|
+
Rails.application.config.i18n.load_path +=
|
6
|
+
Dir[Engine.root.join('lib', 'bootstrap_it', 'locales', '*.yml')]
|
7
|
+
Assets.register(Rails.application.assets)
|
8
|
+
end
|
9
|
+
|
10
|
+
initializer 'bootstrap_it.configure_view_controller' do |app|
|
11
|
+
ActiveSupport.on_load(:action_view) do
|
12
|
+
include WrapIt.helpers
|
13
|
+
include BootstrapIt::LayoutHelpers
|
14
|
+
end
|
15
|
+
|
16
|
+
# ActiveSupport.on_load :action_controller do
|
17
|
+
# include MyGem::ActionController::Filters
|
18
|
+
# end
|
19
|
+
end
|
20
|
+
|
21
|
+
# initializer 'bootstrap.view_helpers' do
|
22
|
+
# ViewHelpers.register_helpers ActionView::Base
|
23
|
+
# end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
module LayoutHelpers
|
4
|
+
def bootstrap_it_stylesheets
|
5
|
+
src = BootstrapIt.config.assets_source
|
6
|
+
css = ''.html_safe
|
7
|
+
if src == :cdn
|
8
|
+
css << stylesheet_link_tag("//netdna.bootstrapcdn.com/bootstrap/" \
|
9
|
+
"#{BootstrapIt.config.bootstrap_version}/css/bootstrap.min.css")
|
10
|
+
if BootstrapIt.config.font_awesome
|
11
|
+
css << stylesheet_link_tag("//netdna.bootstrapcdn.com/font-awesome/"\
|
12
|
+
"#{BootstrapIt.config.font_awesome_version}/css/font-awesome.css")
|
13
|
+
end
|
14
|
+
elsif src == :precompiled
|
15
|
+
css << stylesheet_link_tag('bootstrap')
|
16
|
+
if BootstrapIt.config.font_awesome
|
17
|
+
css << stylesheet_link_tag('font-awesome')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
css
|
21
|
+
end
|
22
|
+
|
23
|
+
def bootstrap_it_javascripts
|
24
|
+
src = BootstrapIt.config.assets_source
|
25
|
+
css = ''.html_safe
|
26
|
+
if src == :cdn
|
27
|
+
css << javascript_include_tag("//netdna.bootstrapcdn.com/bootstrap/" \
|
28
|
+
"#{BootstrapIt.config.bootstrap_version}/js/bootstrap.min.js")
|
29
|
+
elsif src == :precompiled
|
30
|
+
css << javascript_include_tag('bootstrap')
|
31
|
+
end
|
32
|
+
css
|
33
|
+
end
|
34
|
+
|
35
|
+
def bootstrap_it
|
36
|
+
bootstrap_it_stylesheets << bootstrap_it_javascripts
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
require 'bootstrap_it/view_helpers/mixin'
|
42
|
+
require 'bootstrap_it/view_helpers/icon'
|
43
|
+
require 'bootstrap_it/view_helpers/text'
|
44
|
+
require 'bootstrap_it/view_helpers/grid'
|
45
|
+
require 'bootstrap_it/view_helpers/table'
|
46
|
+
require 'bootstrap_it/view_helpers/list'
|
47
|
+
require 'bootstrap_it/view_helpers/dropdown_menu'
|
48
|
+
require 'bootstrap_it/view_helpers/button'
|
49
|
+
require 'bootstrap_it/view_helpers/button_group'
|
50
|
+
require 'bootstrap_it/view_helpers/button_toolbar'
|
51
|
+
require 'bootstrap_it/view_helpers/form'
|
52
|
+
require 'bootstrap_it/view_helpers/nav'
|
53
|
+
require 'bootstrap_it/view_helpers/breadcrumb'
|
54
|
+
require 'bootstrap_it/view_helpers/pagination'
|
55
|
+
require 'bootstrap_it/view_helpers/misc'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
module ViewHelpers
|
4
|
+
#
|
5
|
+
# Breadcrumb
|
6
|
+
#
|
7
|
+
# @author [alexiss]
|
8
|
+
#
|
9
|
+
class Breadcrumb < WrapIt::Container
|
10
|
+
default_tag 'ol'
|
11
|
+
html_class 'breadcrumb'
|
12
|
+
|
13
|
+
child :link_item, 'BootstrapIt::ViewHelpers::ListLinkItem'
|
14
|
+
child :item, 'BootstrapIt::ViewHelpers::ListItem'
|
15
|
+
end
|
16
|
+
|
17
|
+
WrapIt.register :breadcrumb, 'BootstrapIt::ViewHelpers::Breadcrumb'
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
module ViewHelpers
|
4
|
+
#
|
5
|
+
# Button
|
6
|
+
#
|
7
|
+
# @author [alexiss]
|
8
|
+
#
|
9
|
+
class Button < WrapIt::Container
|
10
|
+
include Activable
|
11
|
+
include Disableable
|
12
|
+
include Sizable
|
13
|
+
include WrapIt::TextContainer
|
14
|
+
|
15
|
+
html_class 'btn'
|
16
|
+
html_class_prefix 'btn-'
|
17
|
+
|
18
|
+
switch :toggle do |value|
|
19
|
+
value ? set_html_data(:toggle, 'button') : remove_html_data(:toggle)
|
20
|
+
end
|
21
|
+
switch :block, html_class: true
|
22
|
+
enum :appearence,
|
23
|
+
%i[default primary success info warning danger link],
|
24
|
+
default: :default, html_class: true
|
25
|
+
|
26
|
+
child :icon, 'BootstrapIt::ViewHelpers::Icon'
|
27
|
+
|
28
|
+
before_render do
|
29
|
+
unless @icon.nil?
|
30
|
+
@content = capture { @icon.render } + html_safe(' ') + @content
|
31
|
+
end
|
32
|
+
|
33
|
+
if @helper_name == :radio || @helper_name == :checkbox
|
34
|
+
@tag = 'label'
|
35
|
+
input_options = {type: @helper_name}
|
36
|
+
@options.each do |k, v|
|
37
|
+
next if k == :class || k == :type
|
38
|
+
input_options[k] = @options.delete(k)
|
39
|
+
end
|
40
|
+
input_options.key?(:checked) && input_options[:checked] != false &&
|
41
|
+
input_options[:checked] = 'checked'
|
42
|
+
@content = content_tag('input', '', input_options) + @content
|
43
|
+
input_options[:id].blank? ||
|
44
|
+
@options[:label_for] = input_options[:id]
|
45
|
+
end
|
46
|
+
true
|
47
|
+
end
|
48
|
+
|
49
|
+
after_capture do
|
50
|
+
@icon.nil? && !@content.empty? && @content += html_safe(' ')
|
51
|
+
end
|
52
|
+
|
53
|
+
after_initialize do
|
54
|
+
@tag = 'button' unless @tag == 'a' || @tag == 'input'
|
55
|
+
if @tag == 'a'
|
56
|
+
@options[:role] = 'button'
|
57
|
+
else
|
58
|
+
@options[:type] = 'button' unless @options.include?(:type)
|
59
|
+
@options[:type] = @options[:type].to_s.downcase
|
60
|
+
end
|
61
|
+
|
62
|
+
@options.key?(:icon) &&
|
63
|
+
@icon = Icon.new(@template, @options.delete(:icon))
|
64
|
+
|
65
|
+
@options.keys.each do |key|
|
66
|
+
next unless /_text$/ =~ key
|
67
|
+
value = @options.delete(key)
|
68
|
+
next unless value.is_a?(String)
|
69
|
+
set_html_data(key.to_s.gsub(/_/, '-'), value)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
#
|
75
|
+
# DropdownButton
|
76
|
+
#
|
77
|
+
# @author [alexiss]
|
78
|
+
#
|
79
|
+
class DropdownButton < Button
|
80
|
+
include DropdownMenuWrapper
|
81
|
+
|
82
|
+
switch :splitted
|
83
|
+
switch :dropup
|
84
|
+
|
85
|
+
after_capture do
|
86
|
+
unless @dropdown_items.empty?
|
87
|
+
unless splitted?
|
88
|
+
@content += content_tag('span', '', class: 'caret')
|
89
|
+
add_html_class('dropdown-toggle')
|
90
|
+
set_html_data(:toggle, 'dropdown')
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
after_render do
|
96
|
+
unless @dropdown_items.empty?
|
97
|
+
if splitted?
|
98
|
+
toggle = WrapIt::Base.new(@template, @options.merge(tag: 'button'))
|
99
|
+
toggle.add_html_class('dropdown-toggle')
|
100
|
+
toggle.set_html_data(:toggle, 'dropdown')
|
101
|
+
@content += capture do
|
102
|
+
toggle.render(content_tag('span', '', class: 'caret'))
|
103
|
+
end
|
104
|
+
end
|
105
|
+
wrapper_class = ['btn-group']
|
106
|
+
wrapper_class << 'dropup' if dropup?
|
107
|
+
wrap(class: wrapper_class)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
WrapIt.register :button, :radio, :checkbox,
|
113
|
+
'BootstrapIt::ViewHelpers::Button'
|
114
|
+
WrapIt.register :dropdown_button, 'BootstrapIt::ViewHelpers::DropdownButton'
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module BootstrapIt
|
2
|
+
#
|
3
|
+
module ViewHelpers
|
4
|
+
#
|
5
|
+
# ButtonGroup
|
6
|
+
#
|
7
|
+
# @author [alexiss]
|
8
|
+
#
|
9
|
+
class ButtonGroup < WrapIt::Container
|
10
|
+
include Sizable
|
11
|
+
include Justifable
|
12
|
+
|
13
|
+
html_class 'btn-group'
|
14
|
+
html_class_prefix 'btn-group-'
|
15
|
+
|
16
|
+
switch :vertical, html_class: true
|
17
|
+
|
18
|
+
child :button, 'BootstrapIt::ViewHelpers::Button'
|
19
|
+
child :dropdown, 'BootstrapIt::ViewHelpers::DropdownButton'
|
20
|
+
|
21
|
+
child :radio, 'BootstrapIt::ViewHelpers::Button' do |button|
|
22
|
+
set_html_data(:toggle, 'buttons')
|
23
|
+
end
|
24
|
+
|
25
|
+
child :checkbox, 'BootstrapIt::ViewHelpers::Button' do |button|
|
26
|
+
set_html_data(:toggle, 'buttons')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
WrapIt.register :button_group, 'BootstrapIt::ViewHelpers::ButtonGroup'
|
31
|
+
end
|
32
|
+
end
|