kms 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{vendor/assets/bower_components/Responsive-Dashboard/src/img → app/assets/images}/avatar.jpg +0 -0
- data/app/assets/javascripts/kms/application.js +3 -0
- data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -7
- data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +11 -3
- data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +4 -4
- data/app/assets/javascripts/kms/application/routes.coffee.erb +1 -1
- data/app/assets/javascripts/kms/application/services/transliteration_service.js +160 -0
- data/app/assets/javascripts/templates/assets/edit.html.slim +24 -2
- data/app/assets/javascripts/templates/assets/form.html.slim +23 -0
- data/app/assets/javascripts/templates/assets/index.html.slim +13 -12
- data/app/assets/javascripts/templates/assets/new.html.slim +1 -15
- data/app/assets/javascripts/templates/help.html.slim +1 -1
- data/app/assets/javascripts/templates/pages/index.html.slim +16 -5
- data/app/assets/javascripts/templates/snippets/index.html.slim +16 -5
- data/app/assets/javascripts/templates/templates/index.html.slim +16 -6
- data/app/assets/stylesheets/kms/application.css +2 -2
- data/app/assets/stylesheets/kms/custom.css.scss +38 -0
- data/app/controllers/kms/assets_controller.rb +8 -9
- data/app/controllers/kms/pages_controller.rb +10 -11
- data/app/controllers/kms/public/pages_controller.rb +5 -4
- data/app/controllers/kms/public/search_controller.rb +2 -0
- data/app/controllers/kms/settings_controller.rb +1 -1
- data/app/controllers/kms/snippets_controller.rb +2 -1
- data/app/controllers/kms/templates_controller.rb +6 -5
- data/app/controllers/kms/users_controller.rb +11 -8
- data/app/models/ability.rb +1 -0
- data/app/models/concerns/kms/permalinkable.rb +1 -1
- data/app/models/kms/page.rb +13 -4
- data/app/serializers/kms/asset_serializer.rb +6 -0
- data/app/serializers/kms/page_serializer.rb +5 -0
- data/app/serializers/kms/template_serializer.rb +5 -0
- data/app/serializers/kms/user_serializer.rb +5 -0
- data/app/services/kms/page_fetcher.rb +30 -0
- data/app/services/kms/search_service.rb +28 -3
- data/app/services/kms/template_processor.rb +19 -0
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +1 -1
- data/app/views/layouts/kms/devise.html.erb +1 -1
- data/app/views/layouts/kms/kms.html.erb +47 -18
- data/config/initializers/externals.rb +6 -32
- data/config/initializers/search.rb +1 -0
- data/config/locales/en.yml +17 -1
- data/config/locales/ru.yml +17 -1
- data/config/routes.rb +7 -6
- data/lib/kms/dependencies.rb +1 -4
- data/lib/kms/engine.rb +1 -2
- data/lib/kms/search_item.rb +18 -0
- data/lib/kms/version.rb +1 -1
- data/spec/controllers/kms/assets_controller_spec.rb +51 -0
- data/spec/controllers/kms/pages_controller_spec.rb +82 -0
- data/spec/controllers/kms/public/pages_controller_spec.rb +30 -0
- data/spec/controllers/kms/snippets_controller_spec.rb +61 -47
- data/spec/controllers/kms/templates_controller_spec.rb +51 -0
- data/spec/controllers/kms/users_controller_spec.rb +56 -0
- data/spec/factories/assets.rb +8 -0
- data/spec/factories/pages.rb +33 -0
- data/spec/factories/templates.rb +20 -0
- data/spec/factories/users.rb +9 -4
- data/spec/internal/config/routes.rb +12 -1
- data/spec/internal/log/test.log +81239 -0
- data/spec/internal/public/404.html +67 -0
- data/spec/internal/public/avatar.jpg +0 -0
- data/spec/internal/public/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/3/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/4/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +1 -0
- data/spec/models/kms/page_spec.rb +31 -0
- data/spec/models/kms/template_spec.rb +15 -0
- data/spec/services/kms/page_fetcher_spec.rb +36 -0
- data/spec/services/kms/search_service_spec.rb +53 -0
- data/spec/services/kms/template_processor_spec.rb +20 -0
- data/spec/support/controller_macros.rb +9 -1
- data/vendor/assets/bower.json +3 -2
- data/vendor/assets/bower_components/angular-ui-select/CHANGELOG.md +169 -0
- data/vendor/assets/bower_components/angular-ui-select/CONTRIBUTING.md +161 -0
- data/vendor/assets/bower_components/angular-ui-select/README.md +27 -13
- data/vendor/assets/bower_components/angular-ui-select/bower.json +6 -3
- data/vendor/assets/bower_components/angular-ui-select/composer.json +29 -0
- data/vendor/assets/bower_components/angular-ui-select/deploy-docs.sh +31 -0
- data/vendor/assets/bower_components/angular-ui-select/dist/select.css +48 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.js +454 -111
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +2 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +2 -2
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/app.js +1 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/demo.js +461 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/docs.css +339 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/plunkr.js +110 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/index.html +191 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_footer.html +2 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_header.html +64 -0
- data/vendor/assets/bower_components/angular-ui-select/index.js +2 -0
- data/vendor/assets/bower_components/angular-ui-select/package.json +36 -15
- data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile +6 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile.lock +43 -0
- data/vendor/assets/bower_components/bootstrap/Gruntfile.js +176 -145
- data/vendor/assets/bower_components/bootstrap/ISSUE_TEMPLATE.md +22 -0
- data/vendor/assets/bower_components/bootstrap/LICENSE +1 -1
- data/vendor/assets/bower_components/bootstrap/README.md +55 -40
- data/vendor/assets/bower_components/bootstrap/bower.json +5 -9
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +204 -59
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +4 -3
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/{bootstrap.less → bootstrap.css} +881 -327
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +549 -286
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +5 -4
- data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +5 -4
- data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +13 -12
- data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +6 -8
- data/vendor/assets/bower_components/bootstrap/grunt/change-version.js +109 -0
- data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
- data/vendor/assets/bower_components/bootstrap/grunt/npm-shrinkwrap.json +2679 -0
- data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +5 -5
- data/vendor/assets/bower_components/bootstrap/js/affix.js +46 -26
- data/vendor/assets/bower_components/bootstrap/js/alert.js +8 -6
- data/vendor/assets/bower_components/bootstrap/js/button.js +34 -19
- data/vendor/assets/bower_components/bootstrap/js/carousel.js +35 -21
- data/vendor/assets/bower_components/bootstrap/js/collapse.js +69 -27
- data/vendor/assets/bower_components/bootstrap/js/dropdown.js +55 -41
- data/vendor/assets/bower_components/bootstrap/js/modal.js +91 -32
- data/vendor/assets/bower_components/bootstrap/js/popover.js +5 -10
- data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +28 -26
- data/vendor/assets/bower_components/bootstrap/js/tab.js +45 -18
- data/vendor/assets/bower_components/bootstrap/js/tooltip.js +117 -54
- data/vendor/assets/bower_components/bootstrap/js/transition.js +2 -2
- data/vendor/assets/bower_components/bootstrap/less/alerts.less +5 -0
- data/vendor/assets/bower_components/bootstrap/less/badges.less +14 -3
- data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +6 -0
- data/vendor/assets/bower_components/bootstrap/less/button-groups.less +22 -18
- data/vendor/assets/bower_components/bootstrap/less/buttons.less +19 -10
- data/vendor/assets/bower_components/bootstrap/less/carousel.less +34 -7
- data/vendor/assets/bower_components/bootstrap/less/close.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/code.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/component-animations.less +3 -1
- data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +9 -8
- data/vendor/assets/bower_components/bootstrap/less/forms.less +123 -50
- data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +75 -3
- data/vendor/assets/bower_components/bootstrap/less/input-groups.less +8 -3
- data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +10 -4
- data/vendor/assets/bower_components/bootstrap/less/list-group.less +10 -11
- data/vendor/assets/bower_components/bootstrap/less/media.less +40 -30
- data/vendor/assets/bower_components/bootstrap/less/mixins.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +19 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +5 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +2 -2
- data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +8 -5
- data/vendor/assets/bower_components/bootstrap/less/modals.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/navbar.less +30 -25
- data/vendor/assets/bower_components/bootstrap/less/navs.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/normalize.less +12 -13
- data/vendor/assets/bower_components/bootstrap/less/pager.less +1 -2
- data/vendor/assets/bower_components/bootstrap/less/pagination.less +5 -4
- data/vendor/assets/bower_components/bootstrap/less/panels.less +33 -5
- data/vendor/assets/bower_components/bootstrap/less/popovers.less +5 -7
- data/vendor/assets/bower_components/bootstrap/less/print.less +96 -96
- data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +1 -19
- data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +10 -9
- data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +13 -2
- data/vendor/assets/bower_components/bootstrap/less/tables.less +14 -13
- data/vendor/assets/bower_components/bootstrap/less/theme.less +49 -16
- data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/tooltip.less +13 -7
- data/vendor/assets/bower_components/bootstrap/less/type.less +2 -13
- data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -2
- data/vendor/assets/bower_components/bootstrap/less/variables.less +45 -22
- data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/package.js +32 -0
- data/vendor/assets/bower_components/bootstrap/package.json +49 -41
- data/vendor/assets/bower_components/flow.js/README.md +79 -64
- data/vendor/assets/bower_components/flow.js/bower.json +6 -2
- data/vendor/assets/bower_components/flow.js/dist/flow.js +1635 -1532
- data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -2
- data/vendor/assets/bower_components/flow.js/package.js +24 -0
- data/vendor/assets/bower_components/flow.js/travis.sh +19 -0
- data/vendor/assets/bower_components/font-awesome/scss/_path.scss +5 -5
- data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +1 -2
- data/vendor/assets/bower_components/ng-flow/bower.json +1 -1
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1655 -1542
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +19 -9
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/index.js +3 -0
- data/vendor/assets/bower_components/ng-flow/package.js +25 -0
- data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/init.js +7 -1
- data/vendor/assets/bower_components/ng-flow/travis.sh +19 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard → rdash-ui}/LICENSE +21 -21
- data/vendor/assets/bower_components/rdash-ui/README.md +55 -0
- data/vendor/assets/bower_components/rdash-ui/bower.json +33 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.min.css +1 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.scss +489 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.eot +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.svg +1316 -1316
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.ttf +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.woff +0 -0
- metadata +227 -180
- data/config/initializers/bower_rails.rb +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/README.md +0 -119
- data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +0 -32
- data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +0 -81
- data/vendor/assets/bower_components/Responsive-Dashboard/package.json +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +0 -413
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +0 -51
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +0 -13
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +0 -17
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +0 -1
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +0 -22
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +0 -29
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +0 -92
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +0 -40
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +0 -73
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +0 -5
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +0 -122
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +0 -10
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +0 -95
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +0 -5
- data/vendor/assets/bower_components/flow.js/CHANGELOG.md +0 -37
- data/vendor/assets/bower_components/flow.js/Gruntfile.js +0 -132
- data/vendor/assets/bower_components/flow.js/karma.conf.js +0 -114
- data/vendor/assets/bower_components/flow.js/package.json +0 -50
- data/vendor/assets/bower_components/flow.js/src/flow.js +0 -1532
- data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
- data/vendor/assets/bower_components/jquery/bower.json +0 -27
- data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9190
- data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
- data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/ajax.js +0 -806
- data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
- data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
- data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
- data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
- data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
- data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
- data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
- data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -135
- data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
- data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -143
- data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
- data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -96
- data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
- data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -163
- data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
- data/vendor/assets/bower_components/jquery/src/core.js +0 -498
- data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
- data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
- data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
- data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
- data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
- data/vendor/assets/bower_components/jquery/src/css.js +0 -451
- data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -24
- data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
- data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
- data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
- data/vendor/assets/bower_components/jquery/src/css/support.js +0 -91
- data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
- data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -5
- data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
- data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data.js +0 -179
- data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
- data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
- data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
- data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
- data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
- data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
- data/vendor/assets/bower_components/jquery/src/effects.js +0 -649
- data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
- data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
- data/vendor/assets/bower_components/jquery/src/event.js +0 -868
- data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
- data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
- data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
- data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
- data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
- data/vendor/assets/bower_components/jquery/src/jquery.js +0 -36
- data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -582
- data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
- data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -31
- data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
- data/vendor/assets/bower_components/jquery/src/offset.js +0 -204
- data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
- data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
- data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
- data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
- data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
- data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
- data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/traversing.js +0 -200
- data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
- data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
- data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
- data/vendor/assets/bower_components/jquery/src/wrap.js +0 -78
@@ -0,0 +1,64 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en" ng-app="demo">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>AngularJS ui-select</title>
|
6
|
+
|
7
|
+
<!--
|
8
|
+
IE8 support, see AngularJS Internet Explorer Compatibility http://docs.angularjs.org/guide/ie
|
9
|
+
For Firefox 3.6, you will also need to include jQuery and ECMAScript 5 shim
|
10
|
+
-->
|
11
|
+
<!--[if lt IE 9]>
|
12
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
|
13
|
+
<script src="http://cdnjs.cloudflare.com/ajax/libs/es5-shim/2.2.0/es5-shim.js"></script>
|
14
|
+
<script>
|
15
|
+
document.createElement('ui-select');
|
16
|
+
document.createElement('ui-select-match');
|
17
|
+
document.createElement('ui-select-choices');
|
18
|
+
</script>
|
19
|
+
<![endif]-->
|
20
|
+
|
21
|
+
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
|
22
|
+
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-sanitize.js"></script>
|
23
|
+
|
24
|
+
<!-- ui-select files -->
|
25
|
+
<script src="./dist/select.js"></script>
|
26
|
+
<link rel="stylesheet" href="./dist/select.css">
|
27
|
+
|
28
|
+
<script src="./assets/demo.js"></script>
|
29
|
+
|
30
|
+
<!-- themes -->
|
31
|
+
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.css">
|
32
|
+
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/select2/3.4.5/select2.css">
|
33
|
+
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.default.css">
|
34
|
+
<!-- <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.bootstrap2.css"> -->
|
35
|
+
<!--<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.8.5/css/selectize.bootstrap3.css">-->
|
36
|
+
|
37
|
+
<style>
|
38
|
+
body {
|
39
|
+
padding: 15px;
|
40
|
+
}
|
41
|
+
|
42
|
+
.select2 > .select2-choice.ui-select-match {
|
43
|
+
/* Because of the inclusion of Bootstrap */
|
44
|
+
height: 29px;
|
45
|
+
}
|
46
|
+
|
47
|
+
.selectize-control > .selectize-dropdown {
|
48
|
+
top: 36px;
|
49
|
+
}
|
50
|
+
/* Some additional styling to demonstrate that append-to-body helps achieve the proper z-index layering. */
|
51
|
+
.select-box {
|
52
|
+
background: #fff;
|
53
|
+
position: relative;
|
54
|
+
z-index: 1;
|
55
|
+
}
|
56
|
+
.alert-info.positioned {
|
57
|
+
margin-top: 1em;
|
58
|
+
position: relative;
|
59
|
+
z-index: 10000; /* The select2 dropdown has a z-index of 9999 */
|
60
|
+
}
|
61
|
+
</style>
|
62
|
+
</head>
|
63
|
+
|
64
|
+
<body class="ng-cloak" ng-controller="DemoCtrl as ctrl">
|
@@ -1,28 +1,42 @@
|
|
1
1
|
{
|
2
2
|
"name": "ui-select",
|
3
|
-
"main": "
|
3
|
+
"main": "./index.js",
|
4
4
|
"author": "http://github.com/angular-ui/ui-select/graphs/contributors",
|
5
5
|
"homepage": "http://github.com/angular-ui/ui-select",
|
6
6
|
"repository": {
|
7
7
|
"url": "git://github.com/angular-ui/ui-select.git"
|
8
8
|
},
|
9
|
-
"
|
9
|
+
"style": "dist/select.css",
|
10
|
+
"version": "0.17.0",
|
10
11
|
"devDependencies": {
|
11
|
-
"
|
12
|
+
"angular": "^1.2.18",
|
13
|
+
"angular-mocks": "^1.2.18",
|
14
|
+
"angular-sanitize": "^1.2.18",
|
15
|
+
"conventional-changelog": "^0.5.3",
|
16
|
+
"conventional-recommended-bump": "0.0.3",
|
12
17
|
"del": "~0.1.1",
|
13
18
|
"event-stream": "~3.1.0",
|
14
|
-
"gulp": "
|
15
|
-
"gulp-angular-templatecache": "
|
16
|
-
"gulp-
|
17
|
-
"gulp-
|
18
|
-
"gulp-
|
19
|
-
"gulp-
|
20
|
-
"gulp-
|
21
|
-
"gulp-
|
19
|
+
"gulp": "^3.9.1",
|
20
|
+
"gulp-angular-templatecache": "^1.8.0",
|
21
|
+
"gulp-bump": "^1.0.0",
|
22
|
+
"gulp-conventional-changelog": "^0.7.0",
|
23
|
+
"gulp-concat": "^2.6.0",
|
24
|
+
"gulp-filenames": "^2.0.0",
|
25
|
+
"gulp-git": "^1.4.0",
|
26
|
+
"gulp-header": "^1.7.1",
|
27
|
+
"gulp-footer": "^1.0.5",
|
28
|
+
"gulp-jshint": "^2.0.0",
|
29
|
+
"gulp-load-plugins": "^1.1.0",
|
30
|
+
"gulp-minify-css": "^1.2.4",
|
31
|
+
"gulp-minify-html": "^1.0.6",
|
22
32
|
"gulp-plumber": "^0.6.3",
|
23
|
-
"gulp-
|
24
|
-
"gulp-
|
33
|
+
"gulp-replace": "^0.5.4",
|
34
|
+
"gulp-sourcemaps": "^1.6.0",
|
35
|
+
"gulp-tag-version": "^1.3.0",
|
36
|
+
"gulp-uglify": "^1.5.3",
|
25
37
|
"gulp-util": "^2.2.19",
|
38
|
+
"jquery": "~1.11",
|
39
|
+
"jshint": "^2.9.1",
|
26
40
|
"jshint-stylish": "~0.3.0",
|
27
41
|
"karma": "^0.12.16",
|
28
42
|
"karma-chrome-launcher": "^0.1.3",
|
@@ -30,11 +44,18 @@
|
|
30
44
|
"karma-jasmine": "~0.2",
|
31
45
|
"karma-ng-html2js-preprocessor": "^0.1.0",
|
32
46
|
"karma-phantomjs-launcher": "~0.1.4",
|
33
|
-
"karma-coverage": "~0.2"
|
47
|
+
"karma-coverage": "~0.2",
|
48
|
+
"run-sequence": "^1.1.5",
|
49
|
+
"title-case": "^1.1.2"
|
34
50
|
},
|
35
51
|
"scripts": {
|
36
|
-
"postinstall": "bower install",
|
37
52
|
"test": "gulp test"
|
38
53
|
},
|
54
|
+
"spm": {
|
55
|
+
"main": "dist/select.js",
|
56
|
+
"output": [
|
57
|
+
"dist/select.css"
|
58
|
+
]
|
59
|
+
},
|
39
60
|
"license": "MIT"
|
40
61
|
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
|
2
|
+
|
3
|
+
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
|
4
|
+
|
5
|
+
Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
|
@@ -0,0 +1,43 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
addressable (2.4.0)
|
5
|
+
colorator (0.1)
|
6
|
+
ffi (1.9.14-x64-mingw32)
|
7
|
+
jekyll (3.1.6)
|
8
|
+
colorator (~> 0.1)
|
9
|
+
jekyll-sass-converter (~> 1.0)
|
10
|
+
jekyll-watch (~> 1.1)
|
11
|
+
kramdown (~> 1.3)
|
12
|
+
liquid (~> 3.0)
|
13
|
+
mercenary (~> 0.3.3)
|
14
|
+
rouge (~> 1.7)
|
15
|
+
safe_yaml (~> 1.0)
|
16
|
+
jekyll-sass-converter (1.4.0)
|
17
|
+
sass (~> 3.4)
|
18
|
+
jekyll-sitemap (0.11.0)
|
19
|
+
addressable (~> 2.4.0)
|
20
|
+
jekyll-watch (1.4.0)
|
21
|
+
listen (~> 3.0, < 3.1)
|
22
|
+
kramdown (1.11.1)
|
23
|
+
liquid (3.0.6)
|
24
|
+
listen (3.0.8)
|
25
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
26
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
27
|
+
mercenary (0.3.6)
|
28
|
+
rb-fsevent (0.9.7)
|
29
|
+
rb-inotify (0.9.7)
|
30
|
+
ffi (>= 0.5.0)
|
31
|
+
rouge (1.11.1)
|
32
|
+
safe_yaml (1.0.4)
|
33
|
+
sass (3.4.22)
|
34
|
+
|
35
|
+
PLATFORMS
|
36
|
+
x64-mingw32
|
37
|
+
|
38
|
+
DEPENDENCIES
|
39
|
+
jekyll (~> 3.1.2)
|
40
|
+
jekyll-sitemap (~> 0.11.0)
|
41
|
+
|
42
|
+
BUNDLED WITH
|
43
|
+
1.12.5
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
2
|
* Bootstrap's Gruntfile
|
3
3
|
* http://getbootstrap.com
|
4
|
-
* Copyright 2013-
|
4
|
+
* Copyright 2013-2016 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6
6
|
*/
|
7
7
|
|
@@ -17,10 +17,23 @@ module.exports = function (grunt) {
|
|
17
17
|
|
18
18
|
var fs = require('fs');
|
19
19
|
var path = require('path');
|
20
|
-
var npmShrinkwrap = require('npm-shrinkwrap');
|
21
20
|
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
|
22
21
|
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
22
|
+
var getLessVarsData = function () {
|
23
|
+
var filePath = path.join(__dirname, 'less/variables.less');
|
24
|
+
var fileContent = fs.readFileSync(filePath, { encoding: 'utf8' });
|
25
|
+
var parser = new BsLessdocParser(fileContent);
|
26
|
+
return { sections: parser.parseFile() };
|
27
|
+
};
|
23
28
|
var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
|
29
|
+
var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
|
30
|
+
var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' });
|
31
|
+
|
32
|
+
Object.keys(configBridge.paths).forEach(function (key) {
|
33
|
+
configBridge.paths[key].forEach(function (val, i, arr) {
|
34
|
+
arr[i] = path.join('./docs/assets', val);
|
35
|
+
});
|
36
|
+
});
|
24
37
|
|
25
38
|
// Project configuration.
|
26
39
|
grunt.initConfig({
|
@@ -30,14 +43,15 @@ module.exports = function (grunt) {
|
|
30
43
|
banner: '/*!\n' +
|
31
44
|
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
32
45
|
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
33
|
-
' * Licensed under <%= pkg.license
|
46
|
+
' * Licensed under the <%= pkg.license %> license\n' +
|
34
47
|
' */\n',
|
35
|
-
|
36
|
-
|
48
|
+
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
|
49
|
+
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
|
37
50
|
|
38
51
|
// Task configuration.
|
39
52
|
clean: {
|
40
|
-
dist:
|
53
|
+
dist: 'dist',
|
54
|
+
docs: 'docs/dist'
|
41
55
|
},
|
42
56
|
|
43
57
|
jshint: {
|
@@ -48,9 +62,9 @@ module.exports = function (grunt) {
|
|
48
62
|
options: {
|
49
63
|
jshintrc: 'grunt/.jshintrc'
|
50
64
|
},
|
51
|
-
src: ['Gruntfile.js', 'grunt/*.js']
|
65
|
+
src: ['Gruntfile.js', 'package.js', 'grunt/*.js']
|
52
66
|
},
|
53
|
-
|
67
|
+
core: {
|
54
68
|
src: 'js/*.js'
|
55
69
|
},
|
56
70
|
test: {
|
@@ -60,7 +74,7 @@ module.exports = function (grunt) {
|
|
60
74
|
src: 'js/tests/unit/*.js'
|
61
75
|
},
|
62
76
|
assets: {
|
63
|
-
src: ['docs/assets/js/
|
77
|
+
src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
|
64
78
|
}
|
65
79
|
},
|
66
80
|
|
@@ -71,8 +85,8 @@ module.exports = function (grunt) {
|
|
71
85
|
grunt: {
|
72
86
|
src: '<%= jshint.grunt.src %>'
|
73
87
|
},
|
74
|
-
|
75
|
-
src: '<%= jshint.
|
88
|
+
core: {
|
89
|
+
src: '<%= jshint.core.src %>'
|
76
90
|
},
|
77
91
|
test: {
|
78
92
|
src: '<%= jshint.test.src %>'
|
@@ -87,7 +101,7 @@ module.exports = function (grunt) {
|
|
87
101
|
|
88
102
|
concat: {
|
89
103
|
options: {
|
90
|
-
banner: '<%= banner %>\n<%= jqueryCheck %>',
|
104
|
+
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>',
|
91
105
|
stripBanners: false
|
92
106
|
},
|
93
107
|
bootstrap: {
|
@@ -111,30 +125,22 @@ module.exports = function (grunt) {
|
|
111
125
|
|
112
126
|
uglify: {
|
113
127
|
options: {
|
114
|
-
|
128
|
+
compress: {
|
129
|
+
warnings: false
|
130
|
+
},
|
131
|
+
mangle: true,
|
132
|
+
preserveComments: /^!|@preserve|@license|@cc_on/i
|
115
133
|
},
|
116
|
-
|
134
|
+
core: {
|
117
135
|
src: '<%= concat.bootstrap.dest %>',
|
118
136
|
dest: 'dist/js/<%= pkg.name %>.min.js'
|
119
137
|
},
|
120
138
|
customize: {
|
121
|
-
src:
|
122
|
-
'docs/assets/js/_vendor/less.min.js',
|
123
|
-
'docs/assets/js/_vendor/jszip.min.js',
|
124
|
-
'docs/assets/js/_vendor/uglify.min.js',
|
125
|
-
'docs/assets/js/_vendor/blob.js',
|
126
|
-
'docs/assets/js/_vendor/filesaver.js',
|
127
|
-
'docs/assets/js/raw-files.min.js',
|
128
|
-
'docs/assets/js/_src/customizer.js'
|
129
|
-
],
|
139
|
+
src: configBridge.paths.customizerJs,
|
130
140
|
dest: 'docs/assets/js/customize.min.js'
|
131
141
|
},
|
132
142
|
docsJs: {
|
133
|
-
src:
|
134
|
-
'docs/assets/js/_vendor/holder.js',
|
135
|
-
'docs/assets/js/_vendor/ZeroClipboard.min.js',
|
136
|
-
'docs/assets/js/_src/application.js'
|
137
|
-
],
|
143
|
+
src: configBridge.paths.docsJs,
|
138
144
|
dest: 'docs/assets/js/docs.min.js'
|
139
145
|
}
|
140
146
|
},
|
@@ -155,9 +161,8 @@ module.exports = function (grunt) {
|
|
155
161
|
sourceMapURL: '<%= pkg.name %>.css.map',
|
156
162
|
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
|
157
163
|
},
|
158
|
-
|
159
|
-
|
160
|
-
}
|
164
|
+
src: 'less/bootstrap.less',
|
165
|
+
dest: 'dist/css/<%= pkg.name %>.css'
|
161
166
|
},
|
162
167
|
compileTheme: {
|
163
168
|
options: {
|
@@ -167,24 +172,14 @@ module.exports = function (grunt) {
|
|
167
172
|
sourceMapURL: '<%= pkg.name %>-theme.css.map',
|
168
173
|
sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map'
|
169
174
|
},
|
170
|
-
|
171
|
-
|
172
|
-
}
|
175
|
+
src: 'less/theme.less',
|
176
|
+
dest: 'dist/css/<%= pkg.name %>-theme.css'
|
173
177
|
}
|
174
178
|
},
|
175
179
|
|
176
180
|
autoprefixer: {
|
177
181
|
options: {
|
178
|
-
browsers:
|
179
|
-
'Android 2.3',
|
180
|
-
'Android >= 4',
|
181
|
-
'Chrome >= 20',
|
182
|
-
'Firefox >= 24', // Firefox 24 is the latest ESR
|
183
|
-
'Explorer >= 8',
|
184
|
-
'iOS >= 6',
|
185
|
-
'Opera >= 12',
|
186
|
-
'Safari >= 6'
|
187
|
-
]
|
182
|
+
browsers: configBridge.config.autoprefixerBrowsers
|
188
183
|
},
|
189
184
|
core: {
|
190
185
|
options: {
|
@@ -199,7 +194,7 @@ module.exports = function (grunt) {
|
|
199
194
|
src: 'dist/css/<%= pkg.name %>-theme.css'
|
200
195
|
},
|
201
196
|
docs: {
|
202
|
-
src: 'docs/assets/css/
|
197
|
+
src: ['docs/assets/css/src/docs.css']
|
203
198
|
},
|
204
199
|
examples: {
|
205
200
|
expand: true,
|
@@ -213,7 +208,7 @@ module.exports = function (grunt) {
|
|
213
208
|
options: {
|
214
209
|
csslintrc: 'less/.csslintrc'
|
215
210
|
},
|
216
|
-
|
211
|
+
dist: [
|
217
212
|
'dist/css/bootstrap.css',
|
218
213
|
'dist/css/bootstrap-theme.css'
|
219
214
|
],
|
@@ -225,41 +220,38 @@ module.exports = function (grunt) {
|
|
225
220
|
ids: false,
|
226
221
|
'overqualified-elements': false
|
227
222
|
},
|
228
|
-
src: 'docs/assets/css/
|
223
|
+
src: 'docs/assets/css/src/docs.css'
|
229
224
|
}
|
230
225
|
},
|
231
226
|
|
232
227
|
cssmin: {
|
233
228
|
options: {
|
229
|
+
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
|
230
|
+
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
|
234
231
|
compatibility: 'ie8',
|
235
232
|
keepSpecialComments: '*',
|
236
|
-
|
233
|
+
sourceMap: true,
|
234
|
+
sourceMapInlineSources: true,
|
235
|
+
advanced: false
|
237
236
|
},
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
237
|
+
minifyCore: {
|
238
|
+
src: 'dist/css/<%= pkg.name %>.css',
|
239
|
+
dest: 'dist/css/<%= pkg.name %>.min.css'
|
240
|
+
},
|
241
|
+
minifyTheme: {
|
242
|
+
src: 'dist/css/<%= pkg.name %>-theme.css',
|
243
|
+
dest: 'dist/css/<%= pkg.name %>-theme.min.css'
|
243
244
|
},
|
244
245
|
docs: {
|
245
246
|
src: [
|
246
|
-
'docs/assets/css/
|
247
|
-
'docs/assets/css/
|
247
|
+
'docs/assets/css/ie10-viewport-bug-workaround.css',
|
248
|
+
'docs/assets/css/src/pygments-manni.css',
|
249
|
+
'docs/assets/css/src/docs.css'
|
248
250
|
],
|
249
251
|
dest: 'docs/assets/css/docs.min.css'
|
250
252
|
}
|
251
253
|
},
|
252
254
|
|
253
|
-
usebanner: {
|
254
|
-
options: {
|
255
|
-
position: 'top',
|
256
|
-
banner: '<%= banner %>'
|
257
|
-
},
|
258
|
-
files: {
|
259
|
-
src: 'dist/css/*.css'
|
260
|
-
}
|
261
|
-
},
|
262
|
-
|
263
255
|
csscomb: {
|
264
256
|
options: {
|
265
257
|
config: 'less/.csscomb.json'
|
@@ -277,27 +269,24 @@ module.exports = function (grunt) {
|
|
277
269
|
dest: 'docs/examples/'
|
278
270
|
},
|
279
271
|
docs: {
|
280
|
-
|
281
|
-
|
282
|
-
}
|
272
|
+
src: 'docs/assets/css/src/docs.css',
|
273
|
+
dest: 'docs/assets/css/src/docs.css'
|
283
274
|
}
|
284
275
|
},
|
285
276
|
|
286
277
|
copy: {
|
287
278
|
fonts: {
|
288
279
|
expand: true,
|
289
|
-
src: 'fonts
|
280
|
+
src: 'fonts/**',
|
290
281
|
dest: 'dist/'
|
291
282
|
},
|
292
283
|
docs: {
|
293
284
|
expand: true,
|
294
|
-
cwd: '
|
285
|
+
cwd: 'dist/',
|
295
286
|
src: [
|
296
|
-
'
|
297
|
-
'css/*.map',
|
298
|
-
'fonts/*'
|
287
|
+
'**/*'
|
299
288
|
],
|
300
|
-
dest: 'docs/dist'
|
289
|
+
dest: 'docs/dist/'
|
301
290
|
}
|
302
291
|
},
|
303
292
|
|
@@ -311,76 +300,103 @@ module.exports = function (grunt) {
|
|
311
300
|
},
|
312
301
|
|
313
302
|
jekyll: {
|
314
|
-
|
303
|
+
options: {
|
304
|
+
bundleExec: true,
|
305
|
+
config: '_config.yml',
|
306
|
+
incremental: false
|
307
|
+
},
|
308
|
+
docs: {},
|
309
|
+
github: {
|
310
|
+
options: {
|
311
|
+
raw: 'github: true'
|
312
|
+
}
|
313
|
+
}
|
315
314
|
},
|
316
315
|
|
317
|
-
|
318
|
-
|
316
|
+
htmlmin: {
|
317
|
+
dist: {
|
319
318
|
options: {
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
319
|
+
collapseBooleanAttributes: true,
|
320
|
+
collapseWhitespace: true,
|
321
|
+
conservativeCollapse: true,
|
322
|
+
decodeEntities: false,
|
323
|
+
minifyCSS: {
|
324
|
+
compatibility: 'ie8',
|
325
|
+
keepSpecialComments: 0
|
326
|
+
},
|
327
|
+
minifyJS: true,
|
328
|
+
minifyURLs: false,
|
329
|
+
processConditionalComments: true,
|
330
|
+
removeAttributeQuotes: true,
|
331
|
+
removeComments: true,
|
332
|
+
removeOptionalAttributes: true,
|
333
|
+
removeOptionalTags: true,
|
334
|
+
removeRedundantAttributes: true,
|
335
|
+
removeScriptTypeAttributes: true,
|
336
|
+
removeStyleLinkTypeAttributes: true,
|
337
|
+
removeTagWhitespace: false,
|
338
|
+
sortAttributes: true,
|
339
|
+
sortClassName: true
|
327
340
|
},
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
341
|
+
expand: true,
|
342
|
+
cwd: '_gh_pages',
|
343
|
+
dest: '_gh_pages',
|
344
|
+
src: [
|
345
|
+
'**/*.html',
|
346
|
+
'!examples/**/*.html'
|
347
|
+
]
|
332
348
|
}
|
333
349
|
},
|
334
350
|
|
335
|
-
|
351
|
+
pug: {
|
336
352
|
options: {
|
337
|
-
|
338
|
-
|
339
|
-
failHard: true,
|
340
|
-
reset: true,
|
341
|
-
relaxerror: [
|
342
|
-
'Bad value X-UA-Compatible for attribute http-equiv on element meta.',
|
343
|
-
'Element img is missing required attribute src.'
|
344
|
-
]
|
353
|
+
pretty: true,
|
354
|
+
data: getLessVarsData
|
345
355
|
},
|
346
|
-
|
347
|
-
src: '
|
356
|
+
customizerVars: {
|
357
|
+
src: 'docs/_pug/customizer-variables.pug',
|
358
|
+
dest: 'docs/_includes/customizer-variables.html'
|
359
|
+
},
|
360
|
+
customizerNav: {
|
361
|
+
src: 'docs/_pug/customizer-nav.pug',
|
362
|
+
dest: 'docs/_includes/nav/customize.html'
|
348
363
|
}
|
349
364
|
},
|
350
365
|
|
366
|
+
htmllint: {
|
367
|
+
options: {
|
368
|
+
ignore: [
|
369
|
+
'Attribute "autocomplete" not allowed on element "button" at this point.',
|
370
|
+
'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".',
|
371
|
+
'Element "img" is missing required attribute "src".'
|
372
|
+
]
|
373
|
+
},
|
374
|
+
src: '_gh_pages/**/*.html'
|
375
|
+
},
|
376
|
+
|
351
377
|
watch: {
|
352
378
|
src: {
|
353
|
-
files: '<%= jshint.
|
354
|
-
tasks: ['jshint:
|
379
|
+
files: '<%= jshint.core.src %>',
|
380
|
+
tasks: ['jshint:core', 'qunit', 'concat']
|
355
381
|
},
|
356
382
|
test: {
|
357
383
|
files: '<%= jshint.test.src %>',
|
358
384
|
tasks: ['jshint:test', 'qunit']
|
359
385
|
},
|
360
386
|
less: {
|
361
|
-
files: 'less
|
387
|
+
files: 'less/**/*.less',
|
362
388
|
tasks: 'less'
|
363
389
|
}
|
364
390
|
},
|
365
391
|
|
366
|
-
sed: {
|
367
|
-
versionNumber: {
|
368
|
-
pattern: (function () {
|
369
|
-
var old = grunt.option('oldver');
|
370
|
-
return old ? RegExp.quote(old) : old;
|
371
|
-
})(),
|
372
|
-
replacement: grunt.option('newver'),
|
373
|
-
recursive: true
|
374
|
-
}
|
375
|
-
},
|
376
|
-
|
377
392
|
'saucelabs-qunit': {
|
378
393
|
all: {
|
379
394
|
options: {
|
380
395
|
build: process.env.TRAVIS_JOB_ID,
|
381
|
-
|
396
|
+
throttled: 10,
|
382
397
|
maxRetries: 3,
|
383
|
-
|
398
|
+
maxPollRetries: 4,
|
399
|
+
urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
|
384
400
|
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
|
385
401
|
}
|
386
402
|
}
|
@@ -390,7 +406,27 @@ module.exports = function (grunt) {
|
|
390
406
|
npmUpdate: {
|
391
407
|
command: 'npm update'
|
392
408
|
}
|
409
|
+
},
|
410
|
+
|
411
|
+
compress: {
|
412
|
+
main: {
|
413
|
+
options: {
|
414
|
+
archive: 'bootstrap-<%= pkg.version %>-dist.zip',
|
415
|
+
mode: 'zip',
|
416
|
+
level: 9,
|
417
|
+
pretty: true
|
418
|
+
},
|
419
|
+
files: [
|
420
|
+
{
|
421
|
+
expand: true,
|
422
|
+
cwd: 'dist/',
|
423
|
+
src: ['**'],
|
424
|
+
dest: 'bootstrap-<%= pkg.version %>-dist'
|
425
|
+
}
|
426
|
+
]
|
427
|
+
}
|
393
428
|
}
|
429
|
+
|
394
430
|
});
|
395
431
|
|
396
432
|
|
@@ -399,7 +435,7 @@ module.exports = function (grunt) {
|
|
399
435
|
require('time-grunt')(grunt);
|
400
436
|
|
401
437
|
// Docs HTML validation task
|
402
|
-
grunt.registerTask('validate-html', ['jekyll', '
|
438
|
+
grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']);
|
403
439
|
|
404
440
|
var runSubset = function (subset) {
|
405
441
|
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
|
@@ -411,8 +447,10 @@ module.exports = function (grunt) {
|
|
411
447
|
// Test task.
|
412
448
|
var testSubtasks = [];
|
413
449
|
// Skip core tests if running a different subset of the test suite
|
414
|
-
if (runSubset('core')
|
415
|
-
|
450
|
+
if (runSubset('core') &&
|
451
|
+
// Skip core tests if this is a Savage build
|
452
|
+
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
|
453
|
+
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']);
|
416
454
|
}
|
417
455
|
// Skip HTML validation if running a different subset of the test suite
|
418
456
|
if (runSubset('validate-html') &&
|
@@ -430,51 +468,44 @@ module.exports = function (grunt) {
|
|
430
468
|
testSubtasks.push('saucelabs-qunit');
|
431
469
|
}
|
432
470
|
grunt.registerTask('test', testSubtasks);
|
471
|
+
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
433
472
|
|
434
473
|
// JS distribution task.
|
435
|
-
grunt.registerTask('dist-js', ['concat', 'uglify']);
|
474
|
+
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
|
436
475
|
|
437
476
|
// CSS distribution task.
|
438
477
|
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
|
439
|
-
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer', '
|
440
|
-
|
441
|
-
// Docs distribution task.
|
442
|
-
grunt.registerTask('dist-docs', 'copy:docs');
|
478
|
+
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
|
443
479
|
|
444
480
|
// Full distribution task.
|
445
|
-
grunt.registerTask('dist', ['clean', 'dist-css', 'copy:fonts', 'dist-js'
|
481
|
+
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
|
446
482
|
|
447
483
|
// Default task.
|
448
|
-
grunt.registerTask('default', ['
|
449
|
-
|
450
|
-
// Version numbering task.
|
451
|
-
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
|
452
|
-
// This can be overzealous, so its changes should always be manually reviewed!
|
453
|
-
grunt.registerTask('change-version-number', 'sed');
|
484
|
+
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
|
454
485
|
|
455
486
|
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
|
456
487
|
|
457
488
|
// task for building customizer
|
458
489
|
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
|
459
|
-
grunt.registerTask('build-customizer-html', '
|
490
|
+
grunt.registerTask('build-customizer-html', 'pug');
|
460
491
|
grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', function () {
|
461
492
|
var banner = grunt.template.process('<%= banner %>');
|
462
493
|
generateRawFiles(grunt, banner);
|
463
494
|
});
|
464
495
|
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
var done = this.async();
|
470
|
-
npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) {
|
471
|
-
if (err) {
|
472
|
-
grunt.fail.warn(err)
|
473
|
-
}
|
474
|
-
var dest = 'test-infra/npm-shrinkwrap.json';
|
475
|
-
fs.renameSync('npm-shrinkwrap.json', dest);
|
476
|
-
grunt.log.writeln('File ' + dest.cyan + ' updated.');
|
477
|
-
done();
|
478
|
-
});
|
496
|
+
grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () {
|
497
|
+
var srcFiles = grunt.config.get('concat.bootstrap.src');
|
498
|
+
var destFilepath = 'dist/js/npm.js';
|
499
|
+
generateCommonJSModule(grunt, srcFiles, destFilepath);
|
479
500
|
});
|
501
|
+
|
502
|
+
// Docs task.
|
503
|
+
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
|
504
|
+
grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']);
|
505
|
+
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
506
|
+
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
507
|
+
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
|
508
|
+
grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']);
|
509
|
+
|
510
|
+
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
|
480
511
|
};
|