praxis 0.16.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +0 -1
- data/.ruby-version +1 -1
- data/.travis.yml +2 -1
- data/CHANGELOG.md +41 -0
- data/CONTRIBUTING.md +3 -0
- data/lib/api_browser/Gruntfile.js +20 -4
- data/lib/api_browser/app/bower_components/angular-mocks/.bower.json +6 -6
- data/lib/api_browser/app/bower_components/angular-mocks/README.md +11 -5
- data/lib/api_browser/app/bower_components/angular-mocks/angular-mocks.js +475 -216
- data/lib/api_browser/app/bower_components/angular-mocks/bower.json +2 -2
- data/lib/api_browser/app/bower_components/angular-mocks/ngAnimateMock.js +2 -0
- data/lib/api_browser/app/bower_components/angular-mocks/ngMock.js +2 -0
- data/lib/api_browser/app/bower_components/angular-mocks/ngMockE2E.js +2 -0
- data/lib/api_browser/app/bower_components/angular-mocks/package.json +1 -1
- data/lib/api_browser/app/bower_components/angular-sanitize/.bower.json +8 -8
- data/lib/api_browser/app/bower_components/angular-sanitize/README.md +19 -5
- data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.js +186 -127
- data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.min.js +12 -10
- data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.min.js.map +3 -3
- data/lib/api_browser/app/bower_components/angular-sanitize/bower.json +3 -2
- data/lib/api_browser/app/bower_components/angular-sanitize/index.js +2 -0
- data/lib/api_browser/app/bower_components/angular-sanitize/package.json +26 -0
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/.bower.json +15 -8
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/bower.json +11 -3
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-csp.css +6 -0
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.js +1177 -453
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.min.js +4 -4
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap.js +1066 -404
- data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap.min.js +3 -3
- data/lib/api_browser/app/bower_components/angular-ui-router/.bower.json +5 -6
- data/lib/api_browser/app/bower_components/angular-ui-router/CHANGELOG.md +208 -3
- data/lib/api_browser/app/bower_components/angular-ui-router/CONTRIBUTING.md +65 -0
- data/lib/api_browser/app/bower_components/angular-ui-router/LICENSE +1 -1
- data/lib/api_browser/app/bower_components/angular-ui-router/README.md +36 -71
- data/lib/api_browser/app/bower_components/angular-ui-router/api/angular-ui-router.d.ts +126 -0
- data/lib/api_browser/app/bower_components/angular-ui-router/bower.json +1 -1
- data/lib/api_browser/app/bower_components/angular-ui-router/release/angular-ui-router.js +1902 -755
- data/lib/api_browser/app/bower_components/angular-ui-router/release/angular-ui-router.min.js +2 -2
- data/lib/api_browser/app/bower_components/angular-ui-router/src/common.js +69 -23
- data/lib/api_browser/app/bower_components/angular-ui-router/src/resolve.js +15 -5
- data/lib/api_browser/app/bower_components/angular-ui-router/src/state.js +556 -295
- data/lib/api_browser/app/bower_components/angular-ui-router/src/stateDirectives.js +101 -42
- data/lib/api_browser/app/bower_components/angular-ui-router/src/stateFilters.js +6 -2
- data/lib/api_browser/app/bower_components/angular-ui-router/src/templateFactory.js +2 -2
- data/lib/api_browser/app/bower_components/angular-ui-router/src/urlMatcherFactory.js +822 -97
- data/lib/api_browser/app/bower_components/angular-ui-router/src/urlRouter.js +274 -120
- data/lib/api_browser/app/bower_components/angular-ui-router/src/viewDirective.js +33 -20
- data/lib/api_browser/app/bower_components/angular-ui-router/src/viewScroll.js +1 -1
- data/lib/api_browser/app/bower_components/angular/.bower.json +5 -5
- data/lib/api_browser/app/bower_components/angular/README.md +2 -5
- data/lib/api_browser/app/bower_components/angular/angular-csp.css +5 -8
- data/lib/api_browser/app/bower_components/angular/angular.js +12975 -6996
- data/lib/api_browser/app/bower_components/angular/angular.min.js +285 -213
- data/lib/api_browser/app/bower_components/angular/angular.min.js.gzip +0 -0
- data/lib/api_browser/app/bower_components/angular/angular.min.js.map +3 -3
- data/lib/api_browser/app/bower_components/angular/bower.json +1 -1
- data/lib/api_browser/app/bower_components/angular/index.js +2 -0
- data/lib/api_browser/app/bower_components/angular/package.json +2 -2
- data/lib/api_browser/app/bower_components/bootstrap-sass/.bower.json +31 -16
- data/lib/api_browser/app/bower_components/bootstrap-sass/CHANGELOG.md +108 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/CONTRIBUTING.md +55 -37
- data/lib/api_browser/app/bower_components/bootstrap-sass/README.md +147 -206
- data/lib/api_browser/app/bower_components/bootstrap-sass/bower.json +19 -8
- data/lib/api_browser/app/bower_components/bootstrap-sass/{dist/fonts → vendor/assets/fonts/bootstrap}/glyphicons-halflings-regular.eot +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{dist/fonts → vendor/assets/fonts/bootstrap}/glyphicons-halflings-regular.svg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{dist/fonts → vendor/assets/fonts/bootstrap}/glyphicons-halflings-regular.ttf +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{dist/fonts → vendor/assets/fonts/bootstrap}/glyphicons-halflings-regular.woff +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap.js +12 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/affix.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/alert.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/button.js +11 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/carousel.js +5 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/collapse.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/dropdown.js +5 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/modal.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/popover.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/scrollspy.js +2 -2
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/tab.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/tooltip.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{js → vendor/assets/javascripts/bootstrap}/transition.js +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap.scss +1 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_alerts.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_badges.scss +6 -6
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_breadcrumbs.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_button-groups.scss +7 -33
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_buttons.scss +2 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_carousel.scss +1 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_close.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_code.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_component-animations.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_dropdowns.scss +3 -8
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_forms.scss +11 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_glyphicons.scss +5 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_grid.scss +12 -26
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_input-groups.scss +1 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_jumbotron.scss +8 -2
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_labels.scss +6 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_list-group.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_media.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_mixins.scss +38 -51
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_modals.scss +2 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_navbar.scss +41 -53
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_navs.scss +0 -20
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_normalize.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_pager.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_pagination.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_panels.scss +11 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_popovers.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_print.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_progress-bars.scss +0 -12
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_responsive-utilities.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_scaffolding.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_tables.scss +5 -18
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_theme.scss +2 -2
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_thumbnails.scss +9 -3
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_tooltip.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_type.scss +54 -52
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_utilities.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_variables.scss +20 -11
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/_wells.scss +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/{lib → vendor/assets/stylesheets/bootstrap}/bootstrap.scss +0 -0
- data/lib/api_browser/app/bower_components/lodash/.bower.json +9 -13
- data/lib/api_browser/app/bower_components/lodash/LICENSE.txt +3 -3
- data/lib/api_browser/app/bower_components/lodash/bower.json +4 -7
- data/lib/api_browser/app/bower_components/lodash/lodash.js +12235 -0
- data/lib/api_browser/app/bower_components/lodash/lodash.min.js +98 -0
- data/lib/api_browser/app/index.html +0 -1
- data/lib/api_browser/app/js/app.js +2 -5
- data/lib/api_browser/app/js/controllers/action.js +21 -37
- data/lib/api_browser/app/js/controllers/controller.js +23 -1
- data/lib/api_browser/app/js/controllers/menu.js +46 -14
- data/lib/api_browser/app/js/controllers/type.js +2 -9
- data/lib/api_browser/app/js/directives/attribute_description.js +15 -5
- data/lib/api_browser/app/js/directives/attribute_table.js +6 -6
- data/lib/api_browser/app/js/directives/fixed_if_fits.js +20 -0
- data/lib/api_browser/app/js/directives/no_container.js +6 -6
- data/lib/api_browser/app/js/directives/type_placeholder.js +21 -0
- data/lib/api_browser/app/js/factories/Configuration.js +13 -0
- data/lib/api_browser/app/js/factories/Documentation.js +0 -3
- data/lib/api_browser/app/js/factories/normalize_attributes.js +19 -0
- data/lib/api_browser/app/js/factories/template_for.js +113 -0
- data/lib/api_browser/app/sass/modules/_body.scss +26 -4
- data/lib/api_browser/app/sass/modules/_sidebar.scss +68 -1
- data/lib/api_browser/app/sass/praxis.scss +1 -5
- data/lib/api_browser/app/sass/variables/_bootstrap-variables.scss +13 -4
- data/lib/api_browser/app/views/action.html +13 -17
- data/lib/api_browser/app/views/controller.html +32 -4
- data/lib/api_browser/app/views/directives/attribute_description.html +1 -1
- data/lib/api_browser/app/views/directives/attribute_description/{_default.html → default.html} +0 -0
- data/lib/api_browser/app/views/directives/attribute_description/example.html +13 -0
- data/lib/api_browser/app/views/directives/attribute_description/headers.html +8 -0
- data/lib/api_browser/app/views/directives/attribute_description/member_options.html +4 -0
- data/lib/api_browser/app/views/directives/attribute_description/values.html +14 -0
- data/lib/api_browser/app/views/directives/attribute_table.html +2 -2
- data/lib/api_browser/app/views/home.html +1 -3
- data/lib/api_browser/app/views/layout.html +3 -36
- data/lib/api_browser/app/views/menu.html +45 -0
- data/lib/api_browser/app/views/navbar.html +1 -1
- data/lib/api_browser/app/views/type.html +2 -2
- data/lib/api_browser/app/views/type/{_details.html → details.html} +6 -6
- data/lib/api_browser/app/views/types/embedded/default.html +10 -0
- data/lib/api_browser/app/views/types/embedded/links.html +11 -0
- data/lib/api_browser/app/views/types/embedded/struct.html +2 -0
- data/lib/api_browser/app/views/types/label/link.html +1 -0
- data/lib/api_browser/app/views/types/label/primitive.html +1 -0
- data/lib/api_browser/app/views/types/label/primitive_collection.html +1 -0
- data/lib/api_browser/app/views/types/label/type.html +1 -0
- data/lib/api_browser/app/views/types/label/type_collection.html +1 -0
- data/lib/api_browser/app/views/{directives/request_body/_default.html → types/standalone/default.html} +1 -1
- data/lib/api_browser/app/views/types/standalone/struct.html +1 -0
- data/lib/api_browser/bower.json +9 -9
- data/lib/api_browser/package.json +1 -1
- data/lib/praxis.rb +10 -4
- data/lib/praxis/action_definition.rb +16 -4
- data/lib/praxis/action_definition/headers_dsl_compiler.rb +5 -2
- data/lib/praxis/api_definition.rb +3 -1
- data/lib/praxis/api_general_info.rb +49 -5
- data/lib/praxis/application.rb +12 -4
- data/lib/praxis/bootloader.rb +1 -0
- data/lib/praxis/bootloader_stages/environment.rb +2 -0
- data/lib/praxis/bootloader_stages/routing.rb +1 -1
- data/lib/praxis/bootloader_stages/subgroup_loader.rb +1 -0
- data/lib/praxis/exceptions/validation.rb +7 -0
- data/lib/praxis/handlers/plain.rb +16 -0
- data/lib/praxis/handlers/xml.rb +4 -4
- data/lib/praxis/links.rb +13 -3
- data/lib/praxis/media_type_identifier.rb +3 -0
- data/lib/praxis/multipart/parser.rb +41 -48
- data/lib/praxis/multipart/part.rb +196 -3
- data/lib/praxis/request.rb +14 -11
- data/lib/praxis/request_stages/request_stage.rb +4 -0
- data/lib/praxis/request_stages/response.rb +10 -9
- data/lib/praxis/request_stages/validate.rb +1 -7
- data/lib/praxis/request_stages/validate_params_and_headers.rb +30 -5
- data/lib/praxis/request_stages/validate_payload.rb +14 -5
- data/lib/praxis/resource_definition.rb +117 -15
- data/lib/praxis/response.rb +6 -5
- data/lib/praxis/response_definition.rb +51 -5
- data/lib/praxis/responses/http.rb +5 -0
- data/lib/praxis/responses/multipart_ok.rb +51 -0
- data/lib/praxis/responses/validation_error.rb +7 -7
- data/lib/praxis/restful_doc_generator.rb +9 -4
- data/lib/praxis/route.rb +3 -2
- data/lib/praxis/router.rb +26 -16
- data/lib/praxis/router/rack.rb +51 -0
- data/lib/praxis/router/simple.rb +146 -0
- data/lib/praxis/routing_config.rb +2 -2
- data/lib/praxis/trait.rb +1 -1
- data/lib/praxis/types/fuzzy_hash.rb +49 -0
- data/lib/praxis/types/media_type_common.rb +1 -1
- data/lib/praxis/types/multipart.rb +47 -12
- data/lib/praxis/types/multipart_array.rb +320 -0
- data/lib/praxis/types/multipart_array/part_definition.rb +52 -0
- data/lib/praxis/validation_handler.rb +10 -0
- data/lib/praxis/version.rb +2 -2
- data/praxis.gemspec +3 -3
- data/spec/api_browser/directives/type_placeholder_spec.js +134 -0
- data/spec/api_browser/factories/normalize_attributes_spec.js +97 -0
- data/spec/api_browser/factories/template_for_spec.js +67 -0
- data/spec/functional_spec.rb +111 -45
- data/spec/praxis/action_definition_spec.rb +31 -7
- data/spec/praxis/api_definition_spec.rb +2 -2
- data/spec/praxis/api_general_info_spec.rb +25 -0
- data/spec/praxis/application_spec.rb +24 -11
- data/spec/praxis/handlers/xml_spec.rb +55 -33
- data/spec/praxis/links_spec.rb +18 -1
- data/spec/praxis/media_type_collection_spec.rb +1 -1
- data/spec/praxis/media_type_spec.rb +2 -2
- data/spec/praxis/multipart/parser_spec.rb +21 -13
- data/spec/praxis/plugins/praxis_mapper_plugin_spec.rb +1 -1
- data/spec/praxis/request_spec.rb +52 -24
- data/spec/praxis/{request_stages_action_spec.rb → request_stages/action_spec.rb} +1 -1
- data/spec/praxis/{request_stage_spec.rb → request_stages/request_stage_spec.rb} +0 -0
- data/spec/praxis/{request_stages_validate_spec.rb → request_stages/validate_spec.rb} +1 -1
- data/spec/praxis/resource_definition_spec.rb +30 -4
- data/spec/praxis/response_definition_spec.rb +60 -19
- data/spec/praxis/response_spec.rb +2 -2
- data/spec/praxis/responses/validation_error_spec.rb +33 -16
- data/spec/praxis/route_spec.rb +4 -2
- data/spec/praxis/router_spec.rb +28 -12
- data/spec/praxis/routing_config_spec.rb +11 -5
- data/spec/praxis/types/collection_spec.rb +1 -1
- data/spec/praxis/types/fuzzy_hash_spec.rb +20 -0
- data/spec/praxis/types/multipart_array/part_definition_spec.rb +5 -0
- data/spec/praxis/types/multipart_array_spec.rb +334 -0
- data/spec/praxis/types/multipart_spec.rb +14 -5
- data/spec/spec_app/app/controllers/instances.rb +20 -10
- data/spec/spec_app/app/controllers/volumes.rb +8 -4
- data/spec/spec_app/app/responses/bulk_response.rb +0 -6
- data/spec/spec_app/config/environment.rb +13 -0
- data/spec/spec_app/design/api.rb +7 -10
- data/spec/spec_app/design/media_types/instance.rb +3 -1
- data/spec/spec_app/design/resources/instances.rb +50 -41
- data/spec/spec_app/design/resources/volume_snapshots.rb +39 -0
- data/spec/spec_app/design/resources/volumes.rb +11 -6
- data/spec/spec_helper.rb +3 -1
- metadata +125 -218
- data/lib/api_browser/app/bower_components/angular-ui-router/src/compat.js +0 -146
- data/lib/api_browser/app/bower_components/bootstrap-sass/CNAME +0 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/DOCS-LICENSE +0 -319
- data/lib/api_browser/app/bower_components/bootstrap-sass/Gemfile +0 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/Gemfile.lock +0 -14
- data/lib/api_browser/app/bower_components/bootstrap-sass/Gruntfile.js +0 -244
- data/lib/api_browser/app/bower_components/bootstrap-sass/LICENSE +0 -176
- data/lib/api_browser/app/bower_components/bootstrap-sass/LICENSE-MIT +0 -21
- data/lib/api_browser/app/bower_components/bootstrap-sass/Rakefile +0 -44
- data/lib/api_browser/app/bower_components/bootstrap-sass/_config.yml +0 -25
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/ads.html +0 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/footer.html +0 -34
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/header.html +0 -42
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-about.html +0 -12
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-components.html +0 -137
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-css.html +0 -99
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-customize.html +0 -40
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-getting-started.html +0 -44
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-javascript.html +0 -88
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/nav-main.html +0 -37
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/old-bs-docs.html +0 -8
- data/lib/api_browser/app/bower_components/bootstrap-sass/_includes/social-buttons.html +0 -16
- data/lib/api_browser/app/bower_components/bootstrap-sass/_layouts/default.html +0 -79
- data/lib/api_browser/app/bower_components/bootstrap-sass/_layouts/home.html +0 -47
- data/lib/api_browser/app/bower_components/bootstrap-sass/about.html +0 -93
- data/lib/api_browser/app/bower_components/bootstrap-sass/browserstack.json +0 -37
- data/lib/api_browser/app/bower_components/bootstrap-sass/components.html +0 -3689
- data/lib/api_browser/app/bower_components/bootstrap-sass/composer.json +0 -28
- data/lib/api_browser/app/bower_components/bootstrap-sass/css.html +0 -2674
- data/lib/api_browser/app/bower_components/bootstrap-sass/customize.html +0 -1715
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/css/bootstrap-theme.css +0 -427
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/css/bootstrap-theme.min.css +0 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/css/bootstrap.css +0 -6350
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/css/bootstrap.min.css +0 -1
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/js/bootstrap.js +0 -2002
- data/lib/api_browser/app/bower_components/bootstrap-sass/dist/js/bootstrap.min.js +0 -9
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/css/docs.css +0 -1195
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/css/pygments-manni.css +0 -66
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/ico/apple-touch-icon-144-precomposed.png +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/ico/favicon.png +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/application.js +0 -103
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/customizer.js +0 -332
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/filesaver.js +0 -169
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/holder.js +0 -404
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/ie8-responsive-file-warning.js +0 -12
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/jszip.js +0 -1467
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/less.js +0 -9
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/raw-files.js +0 -3
- data/lib/api_browser/app/bower_components/bootstrap-sass/docs-assets/js/uglify.js +0 -14
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/carousel/carousel.css +0 -148
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/carousel/index.html +0 -206
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/grid/grid.css +0 -28
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/grid/index.html +0 -148
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/jumbotron-narrow/index.html +0 -82
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/jumbotron-narrow/jumbotron-narrow.css +0 -79
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/jumbotron/index.html +0 -99
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/jumbotron/jumbotron.css +0 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/justified-nav/index.html +0 -83
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/justified-nav/justified-nav.css +0 -88
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar-fixed-top/index.html +0 -91
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar-fixed-top/navbar-fixed-top.css +0 -4
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar-static-top/index.html +0 -92
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar-static-top/navbar-static-top.css +0 -7
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar/index.html +0 -88
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/navbar/navbar.css +0 -8
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/non-responsive/index.html +0 -101
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/non-responsive/non-responsive.css +0 -116
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/offcanvas/index.html +0 -130
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/offcanvas/offcanvas.css +0 -50
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/offcanvas/offcanvas.js +0 -5
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/carousel.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/grid.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/jumbotron-narrow.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/jumbotron.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/justified-nav.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/navbar-fixed.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/navbar-static.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/navbar.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/non-responsive.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/offcanvas.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/sign-in.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/starter-template.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/sticky-footer-navbar.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/sticky-footer.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/screenshots/theme.jpg +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/signin/index.html +0 -50
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/signin/signin.css +0 -40
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/starter-template/index.html +0 -68
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/starter-template/starter-template.css +0 -7
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/sticky-footer-navbar/index.html +0 -91
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/sticky-footer-navbar/sticky-footer-navbar.css +0 -45
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/sticky-footer/index.html +0 -55
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/sticky-footer/sticky-footer.css +0 -38
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/theme/index.html +0 -384
- data/lib/api_browser/app/bower_components/bootstrap-sass/examples/theme/theme.css +0 -14
- data/lib/api_browser/app/bower_components/bootstrap-sass/fonts/glyphicons-halflings-regular.eot +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/fonts/glyphicons-halflings-regular.svg +0 -229
- data/lib/api_browser/app/bower_components/bootstrap-sass/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/fonts/glyphicons-halflings-regular.woff +0 -0
- data/lib/api_browser/app/bower_components/bootstrap-sass/getting-started.html +0 -1021
- data/lib/api_browser/app/bower_components/bootstrap-sass/index.html +0 -16
- data/lib/api_browser/app/bower_components/bootstrap-sass/javascript.html +0 -1983
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/index.html +0 -52
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/affix.js +0 -25
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/alert.js +0 -62
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/button.js +0 -116
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/carousel.js +0 -87
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/collapse.js +0 -164
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/dropdown.js +0 -219
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/modal.js +0 -196
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/phantom.js +0 -69
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/popover.js +0 -133
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/scrollspy.js +0 -37
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/tab.js +0 -86
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/tooltip.js +0 -437
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/unit/transition.js +0 -13
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/vendor/jquery.js +0 -6
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/vendor/qunit.css +0 -232
- data/lib/api_browser/app/bower_components/bootstrap-sass/js/tests/vendor/qunit.js +0 -1510
- data/lib/api_browser/app/bower_components/bootstrap-sass/package.json +0 -40
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.compat.js +0 -7157
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.compat.min.js +0 -61
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.js +0 -6785
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.min.js +0 -56
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.underscore.js +0 -4979
- data/lib/api_browser/app/bower_components/lodash/dist/lodash.underscore.min.js +0 -39
- data/lib/api_browser/app/js/directives/attribute_table_row.js +0 -17
- data/lib/api_browser/app/js/directives/request_body.js +0 -25
- data/lib/api_browser/app/js/directives/request_headers.js +0 -17
- data/lib/api_browser/app/js/directives/request_parameters.js +0 -17
- data/lib/api_browser/app/js/directives/type_label.js +0 -52
- data/lib/api_browser/app/js/factories/PayloadTemplates.js +0 -10
- data/lib/api_browser/app/js/factories/TemplateProvider.js +0 -45
- data/lib/api_browser/app/js/factories/TypeTemplates.js +0 -11
- data/lib/api_browser/app/views/directives/attribute_description/_example.html +0 -13
- data/lib/api_browser/app/views/directives/attribute_description/_headers.html +0 -8
- data/lib/api_browser/app/views/directives/attribute_table_row/_default.html +0 -10
- data/lib/api_browser/app/views/directives/attribute_table_row/_links.html +0 -11
- data/lib/api_browser/app/views/directives/attribute_table_row/_struct.html +0 -2
- data/lib/api_browser/app/views/directives/request_body/_struct.html +0 -1
- data/lib/api_browser/app/views/resource/_actions.html +0 -27
@@ -1,66 +0,0 @@
|
|
1
|
-
.hll { background-color: #ffffcc }
|
2
|
-
/*{ background: #f0f3f3; }*/
|
3
|
-
.c { color: #999; } /* Comment */
|
4
|
-
.err { color: #AA0000; background-color: #FFAAAA } /* Error */
|
5
|
-
.k { color: #006699; } /* Keyword */
|
6
|
-
.o { color: #555555 } /* Operator */
|
7
|
-
.cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
|
8
|
-
.cp { color: #009999 } /* Comment.Preproc */
|
9
|
-
.c1 { color: #999; } /* Comment.Single */
|
10
|
-
.cs { color: #999; } /* Comment.Special */
|
11
|
-
.gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
|
12
|
-
.ge { font-style: italic } /* Generic.Emph */
|
13
|
-
.gr { color: #FF0000 } /* Generic.Error */
|
14
|
-
.gh { color: #003300; } /* Generic.Heading */
|
15
|
-
.gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
|
16
|
-
.go { color: #AAAAAA } /* Generic.Output */
|
17
|
-
.gp { color: #000099; } /* Generic.Prompt */
|
18
|
-
.gs { } /* Generic.Strong */
|
19
|
-
.gu { color: #003300; } /* Generic.Subheading */
|
20
|
-
.gt { color: #99CC66 } /* Generic.Traceback */
|
21
|
-
.kc { color: #006699; } /* Keyword.Constant */
|
22
|
-
.kd { color: #006699; } /* Keyword.Declaration */
|
23
|
-
.kn { color: #006699; } /* Keyword.Namespace */
|
24
|
-
.kp { color: #006699 } /* Keyword.Pseudo */
|
25
|
-
.kr { color: #006699; } /* Keyword.Reserved */
|
26
|
-
.kt { color: #007788; } /* Keyword.Type */
|
27
|
-
.m { color: #FF6600 } /* Literal.Number */
|
28
|
-
.s { color: #d44950 } /* Literal.String */
|
29
|
-
.na { color: #4f9fcf } /* Name.Attribute */
|
30
|
-
.nb { color: #336666 } /* Name.Builtin */
|
31
|
-
.nc { color: #00AA88; } /* Name.Class */
|
32
|
-
.no { color: #336600 } /* Name.Constant */
|
33
|
-
.nd { color: #9999FF } /* Name.Decorator */
|
34
|
-
.ni { color: #999999; } /* Name.Entity */
|
35
|
-
.ne { color: #CC0000; } /* Name.Exception */
|
36
|
-
.nf { color: #CC00FF } /* Name.Function */
|
37
|
-
.nl { color: #9999FF } /* Name.Label */
|
38
|
-
.nn { color: #00CCFF; } /* Name.Namespace */
|
39
|
-
.nt { color: #2f6f9f; } /* Name.Tag */
|
40
|
-
.nv { color: #003333 } /* Name.Variable */
|
41
|
-
.ow { color: #000000; } /* Operator.Word */
|
42
|
-
.w { color: #bbbbbb } /* Text.Whitespace */
|
43
|
-
.mf { color: #FF6600 } /* Literal.Number.Float */
|
44
|
-
.mh { color: #FF6600 } /* Literal.Number.Hex */
|
45
|
-
.mi { color: #FF6600 } /* Literal.Number.Integer */
|
46
|
-
.mo { color: #FF6600 } /* Literal.Number.Oct */
|
47
|
-
.sb { color: #CC3300 } /* Literal.String.Backtick */
|
48
|
-
.sc { color: #CC3300 } /* Literal.String.Char */
|
49
|
-
.sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
|
50
|
-
.s2 { color: #CC3300 } /* Literal.String.Double */
|
51
|
-
.se { color: #CC3300; } /* Literal.String.Escape */
|
52
|
-
.sh { color: #CC3300 } /* Literal.String.Heredoc */
|
53
|
-
.si { color: #AA0000 } /* Literal.String.Interpol */
|
54
|
-
.sx { color: #CC3300 } /* Literal.String.Other */
|
55
|
-
.sr { color: #33AAAA } /* Literal.String.Regex */
|
56
|
-
.s1 { color: #CC3300 } /* Literal.String.Single */
|
57
|
-
.ss { color: #FFCC33 } /* Literal.String.Symbol */
|
58
|
-
.bp { color: #336666 } /* Name.Builtin.Pseudo */
|
59
|
-
.vc { color: #003333 } /* Name.Variable.Class */
|
60
|
-
.vg { color: #003333 } /* Name.Variable.Global */
|
61
|
-
.vi { color: #003333 } /* Name.Variable.Instance */
|
62
|
-
.il { color: #FF6600 } /* Literal.Number.Integer.Long */
|
63
|
-
|
64
|
-
.css .o,
|
65
|
-
.css .o + .nt,
|
66
|
-
.css .nt + .nt { color: #999; }
|
Binary file
|
Binary file
|
@@ -1,103 +0,0 @@
|
|
1
|
-
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
2
|
-
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
3
|
-
// ++++++++++++++++++++++++++++++++++++++++++
|
4
|
-
|
5
|
-
/*!
|
6
|
-
* Copyright 2013 Twitter, Inc.
|
7
|
-
*
|
8
|
-
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
9
|
-
* details, see http://creativecommons.org/licenses/by/3.0/.
|
10
|
-
*/
|
11
|
-
|
12
|
-
|
13
|
-
!function ($) {
|
14
|
-
|
15
|
-
$(function(){
|
16
|
-
|
17
|
-
// IE10 viewport hack for Surface/desktop Windows 8 bug
|
18
|
-
//
|
19
|
-
// See Getting Started docs for more information
|
20
|
-
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
21
|
-
var msViewportStyle = document.createElement("style");
|
22
|
-
msViewportStyle.appendChild(
|
23
|
-
document.createTextNode(
|
24
|
-
"@-ms-viewport{width:auto!important}"
|
25
|
-
)
|
26
|
-
);
|
27
|
-
document.getElementsByTagName("head")[0].
|
28
|
-
appendChild(msViewportStyle);
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
var $window = $(window)
|
33
|
-
var $body = $(document.body)
|
34
|
-
|
35
|
-
var navHeight = $('.navbar').outerHeight(true) + 10
|
36
|
-
|
37
|
-
$body.scrollspy({
|
38
|
-
target: '.bs-sidebar',
|
39
|
-
offset: navHeight
|
40
|
-
})
|
41
|
-
|
42
|
-
$window.on('load', function () {
|
43
|
-
$body.scrollspy('refresh')
|
44
|
-
})
|
45
|
-
|
46
|
-
$('.bs-docs-container [href=#]').click(function (e) {
|
47
|
-
e.preventDefault()
|
48
|
-
})
|
49
|
-
|
50
|
-
// back to top
|
51
|
-
setTimeout(function () {
|
52
|
-
var $sideBar = $('.bs-sidebar')
|
53
|
-
|
54
|
-
$sideBar.affix({
|
55
|
-
offset: {
|
56
|
-
top: function () {
|
57
|
-
var offsetTop = $sideBar.offset().top
|
58
|
-
var sideBarMargin = parseInt($sideBar.children(0).css('margin-top'), 10)
|
59
|
-
var navOuterHeight = $('.bs-docs-nav').height()
|
60
|
-
|
61
|
-
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
|
62
|
-
}
|
63
|
-
, bottom: function () {
|
64
|
-
return (this.bottom = $('.bs-footer').outerHeight(true))
|
65
|
-
}
|
66
|
-
}
|
67
|
-
})
|
68
|
-
}, 100)
|
69
|
-
|
70
|
-
setTimeout(function () {
|
71
|
-
$('.bs-top').affix()
|
72
|
-
}, 100)
|
73
|
-
|
74
|
-
// tooltip demo
|
75
|
-
$('.tooltip-demo').tooltip({
|
76
|
-
selector: "[data-toggle=tooltip]",
|
77
|
-
container: "body"
|
78
|
-
})
|
79
|
-
|
80
|
-
$('.tooltip-test').tooltip()
|
81
|
-
$('.popover-test').popover()
|
82
|
-
|
83
|
-
$('.bs-docs-navbar').tooltip({
|
84
|
-
selector: "a[data-toggle=tooltip]",
|
85
|
-
container: ".bs-docs-navbar .nav"
|
86
|
-
})
|
87
|
-
|
88
|
-
// popover demo
|
89
|
-
$("[data-toggle=popover]")
|
90
|
-
.popover()
|
91
|
-
|
92
|
-
// button state demo
|
93
|
-
$('#fat-btn')
|
94
|
-
.click(function () {
|
95
|
-
var btn = $(this)
|
96
|
-
btn.button('loading')
|
97
|
-
setTimeout(function () {
|
98
|
-
btn.button('reset')
|
99
|
-
}, 3000)
|
100
|
-
})
|
101
|
-
})
|
102
|
-
|
103
|
-
}(window.jQuery)
|
@@ -1,332 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Copyright 2013 Twitter, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
5
|
-
* details, see http://creativecommons.org/licenses/by/3.0/.
|
6
|
-
*/
|
7
|
-
|
8
|
-
|
9
|
-
window.onload = function () { // wait for load in a dumb way because B-0
|
10
|
-
var cw = '/*!\n * Bootstrap v3.0.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n'
|
11
|
-
|
12
|
-
function showError(msg, err) {
|
13
|
-
$('<div id="bsCustomizerAlert" class="bs-customizer-alert">\
|
14
|
-
<div class="container">\
|
15
|
-
<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right">×</a>\
|
16
|
-
<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign"></span>' + msg + '</p>' +
|
17
|
-
(err.extract ? '<pre class="bs-customizer-alert-extract">' + err.extract.join('\n') + '</pre>' : '') + '\
|
18
|
-
</div>\
|
19
|
-
</div>').appendTo('body').alert()
|
20
|
-
throw err
|
21
|
-
}
|
22
|
-
|
23
|
-
function showCallout(msg, showUpTop) {
|
24
|
-
var callout = $('<div class="bs-callout bs-callout-danger">\
|
25
|
-
<h4>Attention!</h4>\
|
26
|
-
<p>' + msg + '</p>\
|
27
|
-
</div>')
|
28
|
-
|
29
|
-
if (showUpTop) {
|
30
|
-
callout.appendTo('.bs-docs-container')
|
31
|
-
} else {
|
32
|
-
callout.insertAfter('.bs-customize-download')
|
33
|
-
}
|
34
|
-
}
|
35
|
-
|
36
|
-
function getQueryParam(key) {
|
37
|
-
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
|
38
|
-
var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)"));
|
39
|
-
return match && decodeURIComponent(match[1].replace(/\+/g, " "));
|
40
|
-
}
|
41
|
-
|
42
|
-
function createGist(configJson) {
|
43
|
-
var data = {
|
44
|
-
"description": "Bootstrap Customizer Config",
|
45
|
-
"public": true,
|
46
|
-
"files": {
|
47
|
-
"config.json": {
|
48
|
-
"content": configJson
|
49
|
-
}
|
50
|
-
}
|
51
|
-
}
|
52
|
-
$.ajax({
|
53
|
-
url: 'https://api.github.com/gists',
|
54
|
-
type: 'POST',
|
55
|
-
dataType: 'json',
|
56
|
-
data: JSON.stringify(data)
|
57
|
-
})
|
58
|
-
.success(function(result) {
|
59
|
-
var origin = window.location.protocol + "//" + window.location.host
|
60
|
-
history.replaceState(false, document.title, origin + window.location.pathname + '?id=' + result.id)
|
61
|
-
})
|
62
|
-
.error(function(err) {
|
63
|
-
showError('<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.', err)
|
64
|
-
})
|
65
|
-
}
|
66
|
-
|
67
|
-
function getCustomizerData() {
|
68
|
-
var vars = {}
|
69
|
-
|
70
|
-
$('#less-variables-section input')
|
71
|
-
.each(function () {
|
72
|
-
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
73
|
-
})
|
74
|
-
|
75
|
-
var data = {
|
76
|
-
vars: vars,
|
77
|
-
css: $('#less-section input:checked') .map(function () { return this.value }).toArray(),
|
78
|
-
js: $('#plugin-section input:checked').map(function () { return this.value }).toArray()
|
79
|
-
}
|
80
|
-
|
81
|
-
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return
|
82
|
-
|
83
|
-
return data
|
84
|
-
}
|
85
|
-
|
86
|
-
function parseUrl() {
|
87
|
-
var id = getQueryParam('id')
|
88
|
-
|
89
|
-
if (!id) return
|
90
|
-
|
91
|
-
$.ajax({
|
92
|
-
url: 'https://api.github.com/gists/' + id,
|
93
|
-
type: 'GET',
|
94
|
-
dataType: 'json'
|
95
|
-
})
|
96
|
-
.success(function(result) {
|
97
|
-
var data = JSON.parse(result.files['config.json'].content)
|
98
|
-
if (data.js) {
|
99
|
-
$('#plugin-section input').each(function () {
|
100
|
-
$(this).prop('checked', ~$.inArray(this.value, data.js))
|
101
|
-
})
|
102
|
-
}
|
103
|
-
if (data.css) {
|
104
|
-
$('#less-section input').each(function () {
|
105
|
-
$(this).prop('checked', ~$.inArray(this.value, data.css))
|
106
|
-
})
|
107
|
-
}
|
108
|
-
if (data.vars) {
|
109
|
-
for (var i in data.vars) {
|
110
|
-
$('input[data-var="' + i + '"]').val(data.vars[i])
|
111
|
-
}
|
112
|
-
}
|
113
|
-
})
|
114
|
-
.error(function(err) {
|
115
|
-
showError('Error fetching bootstrap config file', err)
|
116
|
-
})
|
117
|
-
}
|
118
|
-
|
119
|
-
function generateZip(css, js, fonts, config, complete) {
|
120
|
-
if (!css && !js) return showError('<strong>Ruh roh!</strong> No Bootstrap files selected.', new Error('no Bootstrap'))
|
121
|
-
|
122
|
-
var zip = new JSZip()
|
123
|
-
|
124
|
-
if (css) {
|
125
|
-
var cssFolder = zip.folder('css')
|
126
|
-
for (var fileName in css) {
|
127
|
-
cssFolder.file(fileName, css[fileName])
|
128
|
-
}
|
129
|
-
}
|
130
|
-
|
131
|
-
if (js) {
|
132
|
-
var jsFolder = zip.folder('js')
|
133
|
-
for (var fileName in js) {
|
134
|
-
jsFolder.file(fileName, js[fileName])
|
135
|
-
}
|
136
|
-
}
|
137
|
-
|
138
|
-
if (fonts) {
|
139
|
-
var fontsFolder = zip.folder('fonts')
|
140
|
-
for (var fileName in fonts) {
|
141
|
-
fontsFolder.file(fileName, fonts[fileName], {base64: true})
|
142
|
-
}
|
143
|
-
}
|
144
|
-
|
145
|
-
if (config) {
|
146
|
-
zip.file('config.json', config)
|
147
|
-
}
|
148
|
-
|
149
|
-
var content = zip.generate({type:"blob"})
|
150
|
-
|
151
|
-
complete(content)
|
152
|
-
}
|
153
|
-
|
154
|
-
function generateCustomCSS(vars) {
|
155
|
-
var result = ''
|
156
|
-
|
157
|
-
for (var key in vars) {
|
158
|
-
result += key + ': ' + vars[key] + ';\n'
|
159
|
-
}
|
160
|
-
|
161
|
-
return result + '\n\n'
|
162
|
-
}
|
163
|
-
|
164
|
-
function generateFonts() {
|
165
|
-
var glyphicons = $('#less-section [value="glyphicons.less"]:checked')
|
166
|
-
if (glyphicons.length) {
|
167
|
-
return __fonts
|
168
|
-
}
|
169
|
-
}
|
170
|
-
|
171
|
-
// Returns an Array of @import'd filenames from 'bootstrap.less' in the order
|
172
|
-
// in which they appear in the file.
|
173
|
-
function bootstrapLessFilenames() {
|
174
|
-
var IMPORT_REGEX = /^@import \"(.*?)\";$/
|
175
|
-
var bootstrapLessLines = __less['bootstrap.less'].split('\n')
|
176
|
-
|
177
|
-
for (var i = 0, imports = []; i < bootstrapLessLines.length; i++) {
|
178
|
-
var match = IMPORT_REGEX.exec(bootstrapLessLines[i])
|
179
|
-
if (match) imports.push(match[1])
|
180
|
-
}
|
181
|
-
|
182
|
-
return imports
|
183
|
-
}
|
184
|
-
|
185
|
-
function generateCSS() {
|
186
|
-
var oneChecked = false
|
187
|
-
var lessFileIncludes = {}
|
188
|
-
$('#less-section input').each(function() {
|
189
|
-
var $this = $(this)
|
190
|
-
var checked = $this.is(':checked')
|
191
|
-
lessFileIncludes[$this.val()] = checked
|
192
|
-
|
193
|
-
oneChecked = oneChecked || checked
|
194
|
-
})
|
195
|
-
|
196
|
-
if (!oneChecked) return false
|
197
|
-
|
198
|
-
var result = {}
|
199
|
-
var vars = {}
|
200
|
-
var css = ''
|
201
|
-
|
202
|
-
$('#less-variables-section input')
|
203
|
-
.each(function () {
|
204
|
-
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
205
|
-
})
|
206
|
-
|
207
|
-
$.each(bootstrapLessFilenames(), function(index, filename) {
|
208
|
-
var fileInclude = lessFileIncludes[filename]
|
209
|
-
|
210
|
-
// Files not explicitly unchecked are compiled into the final stylesheet.
|
211
|
-
// Core stylesheets like 'normalize.less' are not included in the form
|
212
|
-
// since disabling them would wreck everything, and so their 'fileInclude'
|
213
|
-
// will be 'undefined'.
|
214
|
-
if (fileInclude || (fileInclude == null)) css += __less[filename]
|
215
|
-
|
216
|
-
// Custom variables are added after Bootstrap variables so the custom
|
217
|
-
// ones take precedence.
|
218
|
-
if (('variables.less' === filename) && vars) css += generateCustomCSS(vars)
|
219
|
-
})
|
220
|
-
|
221
|
-
css = css.replace(/@import[^\n]*/gi, '') //strip any imports
|
222
|
-
|
223
|
-
try {
|
224
|
-
var parser = new less.Parser({
|
225
|
-
paths: ['variables.less', 'mixins.less']
|
226
|
-
, optimization: 0
|
227
|
-
, filename: 'bootstrap.css'
|
228
|
-
}).parse(css, function (err, tree) {
|
229
|
-
if (err) {
|
230
|
-
return showError('<strong>Ruh roh!</strong> Could not parse less files.', err)
|
231
|
-
}
|
232
|
-
result = {
|
233
|
-
'bootstrap.css' : cw + tree.toCSS(),
|
234
|
-
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
|
235
|
-
}
|
236
|
-
})
|
237
|
-
} catch (err) {
|
238
|
-
return showError('<strong>Ruh roh!</strong> Could not parse less files.', err)
|
239
|
-
}
|
240
|
-
|
241
|
-
return result
|
242
|
-
}
|
243
|
-
|
244
|
-
function generateJavascript() {
|
245
|
-
var $checked = $('#plugin-section input:checked')
|
246
|
-
if (!$checked.length) return false
|
247
|
-
|
248
|
-
var js = $checked
|
249
|
-
.map(function () { return __js[this.value] })
|
250
|
-
.toArray()
|
251
|
-
.join('\n')
|
252
|
-
|
253
|
-
return {
|
254
|
-
'bootstrap.js': js,
|
255
|
-
'bootstrap.min.js': cw + uglify(js)
|
256
|
-
}
|
257
|
-
}
|
258
|
-
|
259
|
-
var inputsComponent = $('#less-section input')
|
260
|
-
var inputsPlugin = $('#plugin-section input')
|
261
|
-
var inputsVariables = $('#less-variables-section input')
|
262
|
-
|
263
|
-
$('#less-section .toggle').on('click', function (e) {
|
264
|
-
e.preventDefault()
|
265
|
-
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
|
266
|
-
})
|
267
|
-
|
268
|
-
$('#plugin-section .toggle').on('click', function (e) {
|
269
|
-
e.preventDefault()
|
270
|
-
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
|
271
|
-
})
|
272
|
-
|
273
|
-
$('#less-variables-section .toggle').on('click', function (e) {
|
274
|
-
e.preventDefault()
|
275
|
-
inputsVariables.val('')
|
276
|
-
})
|
277
|
-
|
278
|
-
$('[data-dependencies]').on('click', function () {
|
279
|
-
if (!$(this).is(':checked')) return
|
280
|
-
var dependencies = this.getAttribute('data-dependencies')
|
281
|
-
if (!dependencies) return
|
282
|
-
dependencies = dependencies.split(',')
|
283
|
-
for (var i = 0; i < dependencies.length; i++) {
|
284
|
-
var dependency = $('[value="' + dependencies[i] + '"]')
|
285
|
-
dependency && dependency.prop('checked', true)
|
286
|
-
}
|
287
|
-
})
|
288
|
-
|
289
|
-
$('[data-dependents]').on('click', function () {
|
290
|
-
if ($(this).is(':checked')) return
|
291
|
-
var dependents = this.getAttribute('data-dependents')
|
292
|
-
if (!dependents) return
|
293
|
-
dependents = dependents.split(',')
|
294
|
-
for (var i = 0; i < dependents.length; i++) {
|
295
|
-
var dependent = $('[value="' + dependents[i] + '"]')
|
296
|
-
dependent && dependent.prop('checked', false)
|
297
|
-
}
|
298
|
-
})
|
299
|
-
|
300
|
-
var $compileBtn = $('#btn-compile')
|
301
|
-
var $downloadBtn = $('#btn-download')
|
302
|
-
|
303
|
-
$compileBtn.on('click', function (e) {
|
304
|
-
var configData = getCustomizerData()
|
305
|
-
var configJson = JSON.stringify(configData, null, 2)
|
306
|
-
|
307
|
-
e.preventDefault()
|
308
|
-
|
309
|
-
$compileBtn.attr('disabled', 'disabled')
|
310
|
-
|
311
|
-
generateZip(generateCSS(), generateJavascript(), generateFonts(), configJson, function (blob) {
|
312
|
-
$compileBtn.removeAttr('disabled')
|
313
|
-
saveAs(blob, "bootstrap.zip")
|
314
|
-
createGist(configJson)
|
315
|
-
})
|
316
|
-
})
|
317
|
-
|
318
|
-
// browser support alerts
|
319
|
-
if (!window.URL && navigator.userAgent.toLowerCase().indexOf('safari') != -1) {
|
320
|
-
showCallout("Looks like you're using safari, which sadly doesn't have the best support\
|
321
|
-
for HTML5 blobs. Because of this your file will be downloaded with the name <code>\"untitled\"</code>.\
|
322
|
-
However, if you check your downloads folder, just rename this <code>\"untitled\"</code> file\
|
323
|
-
to <code>\"bootstrap.zip\"</code> and you should be good to go!")
|
324
|
-
} else if (!window.URL && !window.webkitURL) {
|
325
|
-
$('.bs-docs-section, .bs-sidebar').css('display', 'none')
|
326
|
-
|
327
|
-
showCallout("Looks like your current browser doesn't support the Bootstrap Customizer. Please take a second\
|
328
|
-
to <a href=\"https://www.google.com/intl/en/chrome/browser/\"> upgrade to a more modern browser</a>.", true)
|
329
|
-
}
|
330
|
-
|
331
|
-
parseUrl()
|
332
|
-
}
|