moving from Webjars to Bower #83: renaming bower_components to vendor, update readme.md
2
.bowerrc
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"directory": "src/main/webapp/bower_components"
|
"directory": "src/main/webapp/vendors"
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,10 +82,12 @@ File -> Import -> Maven -> Existing Maven project
|
||||||
<a href="/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp">createOrUpdateOwnerForm.jsp</a></td>
|
<a href="/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp">createOrUpdateOwnerForm.jsp</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>webjars</td>
|
<td>Bower</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="/pom.xml">webjars declaration inside pom.xml</a> <br />
|
<a href="/pom.xml">bower-install maven profile declaration inside pom.xml</a> <br />
|
||||||
<a href="/src/main/resources/spring/mvc-core-config.xml#L24">Resource mapping in Spring configuration</a> <br />
|
<a href="/bower.json">JavaScript libraries are defined by the manifest file bower.json</a> <br />
|
||||||
|
<a href="/.bowerrc">Bower configuration using JSON</a> <br />
|
||||||
|
<a href="/src/main/resources/spring/mvc-core-config.xml#L30">Resource mapping in Spring configuration</a> <br />
|
||||||
<a href="/src/main/webapp/WEB-INF/jsp/fragments/staticFiles.jsp#L12">sample usage in JSP</a></td>
|
<a href="/src/main/webapp/WEB-INF/jsp/fragments/staticFiles.jsp#L12">sample usage in JSP</a></td>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -25,8 +25,9 @@
|
||||||
<mvc:annotation-driven conversion-service="conversionService"/>
|
<mvc:annotation-driven conversion-service="conversionService"/>
|
||||||
|
|
||||||
<!-- all resources inside folder src/main/webapp/resources are mapped so they can be refered to inside JSP files
|
<!-- all resources inside folder src/main/webapp/resources are mapped so they can be refered to inside JSP files
|
||||||
(see header.jsp for more details) -->
|
(see staticFiles.jsp for more details) -->
|
||||||
<mvc:resources mapping="/resources/**" location="/resources/"/>
|
<mvc:resources mapping="/resources/**" location="/resources/"/>
|
||||||
|
<mvc:resources mapping="/vendors/**" location="/vendors/"/>
|
||||||
|
|
||||||
<mvc:view-controller path="/" view-name="welcome"/>
|
<mvc:view-controller path="/" view-name="welcome"/>
|
||||||
|
|
||||||
|
|
|
@ -9,23 +9,23 @@ PetClinic :: a Spring Framework demonstration
|
||||||
<title>PetClinic :: a Spring Framework demonstration</title>
|
<title>PetClinic :: a Spring Framework demonstration</title>
|
||||||
|
|
||||||
|
|
||||||
<spring:url value="/bower_components/bootstrap/docs/assets/css/bootstrap.css" var="bootstrapCss"/>
|
<spring:url value="/vendors/bootstrap/docs/assets/css/bootstrap.css" var="bootstrapCss"/>
|
||||||
<link href="${bootstrapCss}" rel="stylesheet"/>
|
<link href="${bootstrapCss}" rel="stylesheet"/>
|
||||||
|
|
||||||
<spring:url value="/resources/css/petclinic.css" var="petclinicCss"/>
|
<spring:url value="/resources/css/petclinic.css" var="petclinicCss"/>
|
||||||
<link href="${petclinicCss}" rel="stylesheet"/>
|
<link href="${petclinicCss}" rel="stylesheet"/>
|
||||||
|
|
||||||
<spring:url value="/bower_components/jquery/jquery.js" var="jQuery"/>
|
<spring:url value="/vendors/jquery/jquery.js" var="jQuery"/>
|
||||||
<script src="${jQuery}"></script>
|
<script src="${jQuery}"></script>
|
||||||
|
|
||||||
<!-- jquery-ui.js file is really big so we only load what we need instead of loading everything -->
|
<!-- jquery-ui.js file is really big so we only load what we need instead of loading everything -->
|
||||||
<spring:url value="/bower_components/query-ui/ui/jquery.ui.core.js" var="jQueryUiCore"/>
|
<spring:url value="/vendors/query-ui/ui/jquery.ui.core.js" var="jQueryUiCore"/>
|
||||||
<script src="${jQueryUiCore}"></script>
|
<script src="${jQueryUiCore}"></script>
|
||||||
|
|
||||||
<spring:url value="/bower_components/query-ui/ui/jquery.ui.datepicker.js" var="jQueryUiDatePicker"/>
|
<spring:url value="/vendors/query-ui/ui/jquery.ui.datepicker.js" var="jQueryUiDatePicker"/>
|
||||||
<script src="${jQueryUiDatePicker}"></script>
|
<script src="${jQueryUiDatePicker}"></script>
|
||||||
|
|
||||||
<!-- jquery-ui.css file is not that big so we can afford to load it -->
|
<!-- jquery-ui.css file is not that big so we can afford to load it -->
|
||||||
<spring:url value="/bower_components/query-ui/themes/base/jquery.ui.base.css" var="jQueryUiCss"/>
|
<spring:url value="/vendors/query-ui/themes/base/jquery.ui.base.css" var="jQueryUiCss"/>
|
||||||
<link href="${jQueryUiCss}" rel="stylesheet"></link>
|
<link href="${jQueryUiCss}" rel="stylesheet"></link>
|
||||||
</head>
|
</head>
|
||||||
|
|
21
src/main/webapp/vendors/bootstrap/.bower.json
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"name": "bootstrap",
|
||||||
|
"version": "2.3.2",
|
||||||
|
"main": [
|
||||||
|
"./docs/assets/js/bootstrap.js",
|
||||||
|
"./docs/assets/css/bootstrap.css"
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": ">=1.8.0 <2.1.0"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/twbs/bootstrap",
|
||||||
|
"_release": "2.3.2",
|
||||||
|
"_resolution": {
|
||||||
|
"type": "version",
|
||||||
|
"tag": "v2.3.2",
|
||||||
|
"commit": "b4c4072679943773a7582daa63f545ba818fa627"
|
||||||
|
},
|
||||||
|
"_source": "git://github.com/twbs/bootstrap.git",
|
||||||
|
"_target": "~2.3.0",
|
||||||
|
"_originalSource": "bootstrap"
|
||||||
|
}
|
37
src/main/webapp/vendors/bootstrap/.gitignore
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Numerous always-ignore extensions
|
||||||
|
*.diff
|
||||||
|
*.err
|
||||||
|
*.orig
|
||||||
|
*.log
|
||||||
|
*.rej
|
||||||
|
*.swo
|
||||||
|
*.swp
|
||||||
|
*.zip
|
||||||
|
*.vi
|
||||||
|
*~
|
||||||
|
*.sass-cache
|
||||||
|
|
||||||
|
# OS or Editor folders
|
||||||
|
.DS_Store
|
||||||
|
._*
|
||||||
|
Thumbs.db
|
||||||
|
.cache
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.tmproj
|
||||||
|
*.esproj
|
||||||
|
nbproject
|
||||||
|
*.sublime-project
|
||||||
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# Komodo
|
||||||
|
*.komodoproject
|
||||||
|
.komodotools
|
||||||
|
|
||||||
|
# Folders to ignore
|
||||||
|
.hg
|
||||||
|
.svn
|
||||||
|
.CVS
|
||||||
|
.idea
|
||||||
|
node_modules
|
||||||
|
dist
|
3
src/main/webapp/vendors/bootstrap/.travis.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
language: node_js
|
||||||
|
node_js:
|
||||||
|
- 0.6
|
368
src/main/webapp/vendors/bootstrap/CHANGELOG.md
vendored
Normal file
|
@ -0,0 +1,368 @@
|
||||||
|
## 2.3.2 re-release (July 26, 2013)
|
||||||
|
|
||||||
|
Patch to update jQuery in Bower and bump Recess to 1.1.9.
|
||||||
|
|
||||||
|
## 2.3.2 (May 17, 2013)
|
||||||
|
|
||||||
|
Fix dropdown for firefox (middleclick) and mobile.
|
||||||
|
|
||||||
|
## 2.3.1 (February 28, 2013)
|
||||||
|
|
||||||
|
Patch release for @fat's n00bery
|
||||||
|
|
||||||
|
- fix missing event type in dropdown
|
||||||
|
- fix delegated data-attrs for popover/tooltip
|
||||||
|
- make carousel actually pause when you click cycle
|
||||||
|
- fix jshint ref in makefile
|
||||||
|
- fix trying to remove backdrop when no backdrop
|
||||||
|
|
||||||
|
## 2.3.0 (February 7, 2013)
|
||||||
|
|
||||||
|
Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs.
|
||||||
|
|
||||||
|
- **Repository changes:**
|
||||||
|
- **Local instead of global dependencies** for our makefile and install process. Now getting started is way easier—just run `npm install`.
|
||||||
|
- Upgraded to jQuery 1.9. No changes were needed, but we did upgrade the included jQuery file to the latest release.
|
||||||
|
- Moved changelog to be within the repo instead of as a wiki page.
|
||||||
|
- **New and improved features:**
|
||||||
|
- **Added carousel indicators!** Add the HTML and it automagically works.
|
||||||
|
- **Added `container` option to tooltips.** The default option is still `insertAfter`, but now you may specify where to insert tooltips (and by extension, popovers) with the optional container parameter.
|
||||||
|
- Improved popovers now utilize `max-width` instead of `width`, have been widened from 240px to 280px, and will automatically hide the title if one has not been set via CSS `:empty` selector.
|
||||||
|
- Improved tooltip alignment on edges with [#6713](https://github.com/twbs/bootstrap/pull/6713).
|
||||||
|
- **Improved accessibility for links in all components.** After merging [#6441](https://github.com/twbs/bootstrap/pull/6441), link hover states now apply to the `:focus` state as well. This goes for basic `<a>` tags, as well as buttons, navs, dropdowns, and more.
|
||||||
|
- Added print utility classes to show and hide content between `screen` and `print` via CSS.
|
||||||
|
- Updated input groups to make them behave more like default form controls. Added `display: inline-block;`, increased `margin-bottom`, and added `vertical-align: middle;` to match `<input>` styles.
|
||||||
|
- Added `.horizontal-three-colors()` gradient mixin (with example in the CSS tests file).
|
||||||
|
- Added `.text-left`, `.text-center`, and `.text-right` utility classes for easy typographic alignment.
|
||||||
|
- Added `@ms-viewport` so IE10 can use responsive CSS when in split-screen mode.
|
||||||
|
- **Docs changes:**
|
||||||
|
- Added [new justified navigation example](https://f.cloud.github.com/assets/98681/25869/5e2f812c-4afa-11e2-9293-501cd689232d.png).
|
||||||
|
- Added sticky footer with fixed navbar example.
|
||||||
|
|
||||||
|
See more on the [2.3.0 pull request](https://github.com/twbs/bootstrap/pull/6346).
|
||||||
|
|
||||||
|
|
||||||
|
## 2.2.2 (December 8, 2012)
|
||||||
|
|
||||||
|
Bugfix release addressing docs, CSS, and some JavaScript issues. Key changes include:
|
||||||
|
|
||||||
|
- **Docs:**
|
||||||
|
- Assets (illustrations and examples) are now retina-ready.
|
||||||
|
- Replaced [Placehold.it](http://placehold.it) with [Holder.js](http://imsky.github.com/holder/), a client-side and retina-ready placeholder image tool.
|
||||||
|
- **Dropdowns:** Temporary fix added for dropdowns on mobile to prevent them from closing early.
|
||||||
|
- **Popovers:**
|
||||||
|
- No longer inherits `font-size: 0;` when placed in button groups.
|
||||||
|
- Arrows refactored to work in IE8, and use less code.
|
||||||
|
- Plugin no longer inserts popover content into a `<p>`, but rather directly into `.popover-content`.
|
||||||
|
- **Labels and badges:** Now [automatically collapse](https://github.com/twbs/bootstrap/commit/ead5dbeba5cd7acfa560bfb353f5e7c4f4a19256) if they have no content.
|
||||||
|
- **Tables:** Nesting support with `.table-bordered` and `.table-striped` greatly improved.
|
||||||
|
- **Typeahead:**
|
||||||
|
- Now [inserts dropdown menu after the input](https://github.com/twbs/bootstrap/commit/1747caf19d59cad7fdc90ae56a00e0e2849f95f4) instead of at the close of the document.
|
||||||
|
- Hitting escape will place focus back on the `<input>`.
|
||||||
|
- Print styles, from HTML5 Boilerplate, have been added.
|
||||||
|
|
||||||
|
See more on the [2.2.2 milestone](https://github.com/twbs/bootstrap/issues?milestone=17&state=closed).
|
||||||
|
|
||||||
|
|
||||||
|
## 2.2.1 (October 30, 2012)
|
||||||
|
|
||||||
|
Hotfix release to address the carousel bug reports.
|
||||||
|
|
||||||
|
|
||||||
|
## 2.2.0 (October 29, 2012)
|
||||||
|
|
||||||
|
### tl;dr
|
||||||
|
|
||||||
|
2.1.2 is now 2.2.0: four new example templates, added media component, new typographic scale, fixed that box-shadow mixin bug, fixed z-index issues, and [more](https://github.com/twbs/bootstrap/issues?milestone=15&page=1&state=closed).
|
||||||
|
|
||||||
|
### Highlights
|
||||||
|
|
||||||
|
- **Added four new example templates** to the docs, including a narrow marketing page, sign in form, sticky footer, and a fancy carousel (created for an upcoming .net magazine article).
|
||||||
|
- **Added the media component**, to create larger common components like comments, Tweets, etc.
|
||||||
|
- **New variable-driven typographic scale** based on `@baseFontSize` and `@baseLineHeight`.
|
||||||
|
- Revamped mini, small, and large padding via new variables for inputs and buttons so everything is the same size.
|
||||||
|
- Reverted 2.1.1's `.box-shadow();` mixin change that caused compiler errors.
|
||||||
|
- Improved dropdown submenus to support dropups and left-aligned submenus.
|
||||||
|
- Fixed z-index issues with tooltips and popovers in modals.
|
||||||
|
- Hero unit now sets basic type styles for the entire component, rather than on `.hero-unit p { ... }`.
|
||||||
|
- Updated JavaScript plugins and docs to jQuery 1.8.1.
|
||||||
|
- Added Contributing.md file.
|
||||||
|
- Added support for installing Bootstrap via [Bower](http://twitter.github.com/bower).
|
||||||
|
- Miscellaneous variable improvements across the board.
|
||||||
|
- Miscellaneous documentation typos fixed.
|
||||||
|
|
||||||
|
For the full list of issues included in this release, visit the [2.2.0 milestone on GitHub](https://github.com/twbs/bootstrap/issues?milestone=15&page=1&state=closed)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 2.1.1 (September 4, 2012)
|
||||||
|
|
||||||
|
* New feature: alert text. We documented these new classes, like `.text-success`, at the bottom of the [Typography section](http://twbs.github.com/bootstrap/base-css.html#typography) along with the long undocumented `.muted`.
|
||||||
|
* Fixed a lot of typos in the docs. Spelling is hard.
|
||||||
|
* Made the `.box-shadow()` mixin more durable. It no longer requires escaping for multiple shadows, meaning you can easily use variables and functions in them once again.
|
||||||
|
* Widened `.dl-horizontal dt` and `.horizontal-form .control-group` to better handle the increased font-size.
|
||||||
|
* Dropdown submenus improved: now you only see the next level, not all levels, on hover of the submenu toggle.
|
||||||
|
* Clarified jQuery and Bootstrap template requirements in Getting Started section.
|
||||||
|
* `select` now utilizes `@inputBorder`.
|
||||||
|
* `.lead` now scales up from `@baseFontSize` instead of being a fixed font-size and line-height.
|
||||||
|
* Fixed the vertical three color gradient in latest Firefox.
|
||||||
|
* Reordered some variables that caused errors in certain Less compilers.
|
||||||
|
|
||||||
|
View all closed issues on the [2.1.1 milestone](https://github.com/twbs/bootstrap/issues?milestone=14&state=closed).
|
||||||
|
|
||||||
|
|
||||||
|
## 2.1.0 (August 20, 2012)
|
||||||
|
|
||||||
|
### Key changes
|
||||||
|
|
||||||
|
* Submenu support on dropdowns
|
||||||
|
* Affix JavaScript plugin
|
||||||
|
* Block level buttons
|
||||||
|
* State classes on table rows
|
||||||
|
* Improved disabled states on navs and dropdowns
|
||||||
|
* The navbar component is now white by default, with an optional class to darken it
|
||||||
|
* Improved prepended and appended inputs
|
||||||
|
* New base font-size and line-height
|
||||||
|
* Added variable for navbar collapse trigger point
|
||||||
|
* Fluid grid offsets
|
||||||
|
* Fluid grid system variables are no longer fixed percentages
|
||||||
|
* Removed LESS docs page
|
||||||
|
|
||||||
|
For full set of changes, see the completed milestone: https://github.com/twbs/bootstrap/issues?milestone=7&page=1&state=closed
|
||||||
|
|
||||||
|
## 2.0.4 (June 1, 2012)
|
||||||
|
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
|
||||||
|
- Added `type="button"` to all dismiss buttons in alerts and modals to avoid a bug in which they prevent their parent's `form` from properly submitting.
|
||||||
|
- Added simple documentation to Base CSS for `.lead`.
|
||||||
|
- Added new CSS test to illustrate how the navbar, static and fixed, behaves.
|
||||||
|
- Clarified grid sizing copy to include mention of responsive variations.
|
||||||
|
- Reformatted the LESS docs page to prevent terrible table displays at smaller grid sizes.
|
||||||
|
- Miscellaneous typos and tweaks.
|
||||||
|
|
||||||
|
### CSS
|
||||||
|
|
||||||
|
- Refactored forms.less to make our selectors more specific for fewer overrides and less code. Instead of a generic `input` selector and various resets, we target each type of input like `input[type="text"]`, `input[type="password"]`, etc.
|
||||||
|
- Form field state (e.g., success or error) now applies to checkbox and radio labels.
|
||||||
|
- Removed redundant CSS on `<p>` for `font-family`, `font-size`, and `line-height`.
|
||||||
|
- Removed redundant `color` declaration from the `<label>` element.
|
||||||
|
- Added variables for dropdown dividers border colors.
|
||||||
|
- `legend` and `.form-actions` share the same `border-color`, `#e5e5e5`.
|
||||||
|
- Fixed some responsive issues with input-prepend and -append, notably with the fluid grid.
|
||||||
|
- Added special CSS to prevent `max-width: 100%;` on images from messing up Google Maps rendering.
|
||||||
|
- Scope opened dropdowns to only immediate children to avoid unintended cascade.
|
||||||
|
- Similarly, scope floated-right dropdowns to immediate children with `.pull-right > .dropdown-menu`.
|
||||||
|
- Updated `.placeholder()` mixin to use `&` operator in Less for proper output when compiling.
|
||||||
|
- Added `-ms-input-placeholder` to `.placeholder()` mixin.
|
||||||
|
- Added CSS3 hyphens mixin.
|
||||||
|
- Fixed a bug in IE7/8 where certain form controls would not show text if the parent had a filter opacity set.
|
||||||
|
|
||||||
|
|
||||||
|
## 2.0.3 (April 24, 2012)
|
||||||
|
|
||||||
|
Running makefile now require JSHint and Recess.
|
||||||
|
|
||||||
|
### HTML and CSS
|
||||||
|
|
||||||
|
- Overhauled the responsive utility classes to simplify required CSS, add `!important` to all declarations, and use `display: inherit` in place of `display: block` to account for different types of elements.
|
||||||
|
- Removed `>` from fluid grid column selectors, meaning every element with a `.span*` class within a `.row-fluid` will use percentage widths instead of fixed-pixels.
|
||||||
|
- Fixed regression in responsive images support as of 2.0.1. We've re-added `max-width: 100%;` to images by default. We removed it in our last release since we had folks complaining about Google Maps integration and other projects, but we're taking a different stance now on these things and will require developers to make these tweaks on their end.
|
||||||
|
- Added variable `@navbarBrandColor` for the brand element in navbars, which defaults to `@navbarLinkColor`.
|
||||||
|
- Font-family mixins now use variables for their stacks.
|
||||||
|
- Fixed an unescaped `filter` on the `.reset-filter()` mixin that was causing some errors depending on your compiler.
|
||||||
|
- Fixed regression in `.form-actions` background, which was too dark, by adding a new variable `@formActionsBackground` and changing the color to `#f5f5f5` instead of `#eee`.
|
||||||
|
- Fixed an issue on button group dropdowns where the background color was not using the button's darker color when the dropdown is open.
|
||||||
|
- Generalized and simplified the open dropdown classes while adding smarter defaults. Instead of `.dropdown.open`, we now use just `.open`. On the defaults side, all dropdown menus now have rounded corners to start.
|
||||||
|
- Improved active `.dropdown-toggle` styles (for dropdown buttons) by darkening the background and sharpening the inset shadow to match the active state of buttons.
|
||||||
|
- Direction of animation on progress bars reversed.
|
||||||
|
- Fixed input-prepend/append issue with uneditable inputs: `.uneditable-input` was being floated and a missing comma meant its `border-radius` for the append option wasn't being applied properly.
|
||||||
|
- Removed `height: auto;` from `img` since it was overriding dimensions set via HTML attributes.
|
||||||
|
- Fixed an issue of double borders on the top of tables with captions or colgroups.
|
||||||
|
- Fixed issue with anchor buttons in the `.navbar-text`. Instead of a general styling on all anchors within an element with that class, we now have a new class to specifically apply appropriate link color.
|
||||||
|
- Added support for `@navbarHeight` on the brand/project name and nav links for complete navbar height customization.
|
||||||
|
- Fixed the black borders on buttons problem in IE7 by removing the border, increasing the line-height, and providing darker background colors.
|
||||||
|
- Removed excess padding on `.search-query` inputs in IE7 since it doesn't have border-radius.
|
||||||
|
- Updated alert messages in Components to use `button` elements as close icons instead of `a`. Both can be used, but an `a` will require `href="#"` for dismissal on iOS devices.
|
||||||
|
- Fixed an issue with prepended/appended inputs in Firefox where `select` elements required two clicks to toggle the dropdown. Resolved by moving the `position: relative` to the `select` by default instead of on `:focus`.
|
||||||
|
- Added a new mixin, `.backface-visibility`, to help refine CSS 3D tranforms. Examples and explanation of usage can be found on [CSS Tricks](http://css-tricks.com/almanac/properties/b/backface-visibility/).
|
||||||
|
- Changed specificity of grid classes in responsive layouts under 767px to accurately target `input`, `select`, and `textarea` elements that use `.span*` classes.
|
||||||
|
- Horizontal description lists, `.dl-horizontal`, now truncate terms that are too long to fit in their fixed-width column. In the < 767px responsive layout, they change to their default stacked layout.
|
||||||
|
- Changed tabbable tabs to prevent issues in left and right aligned tabs. `.tab-content` would not growing to its parent's full width due to `display: table`. We removed that and the `width: 100%` and instead just set `overflow: auto` to clear the left and right aligned tabs.
|
||||||
|
- Updated thumbnails to support fluid grid column sizing.
|
||||||
|
- Added `>` to most of the button group selectors
|
||||||
|
- Added new variable, `@inputBorderRadius`, to all form controls that previously made use of the static `3px` value everywhere.
|
||||||
|
- Changed the way we do `border-radius` for tables. Instead of the regular mixin that zeros out all other corners, we specify one corner only so they can be combined for use on single column table headers.
|
||||||
|
- Updated Glyphicons Halflings from 1.5 to 1.6, introducing 20 new icons.
|
||||||
|
- Added an `offset` paramater to the `.makeColumn`.
|
||||||
|
- Increased the specificity of all tabbable nav selectors to include `.nav-collapse` to appropriately scope the responsive navbar behavior.
|
||||||
|
- Fixed uneditable inputs: text now cuts off and does not wrap, making it behave just like a default `input`.
|
||||||
|
- Labels and badges are now `vertical-align: baseline;` so they line up with surrounding text.
|
||||||
|
|
||||||
|
### Javascript
|
||||||
|
|
||||||
|
- Add jshint support
|
||||||
|
- Add travis-ci support w/ headless phantom integration
|
||||||
|
- Replace UA sniffing in bootstrap-transitions.js
|
||||||
|
- Add MSTransitionEnd event to transition plugin
|
||||||
|
- Fix pause method in carousel (shouldn't restart when hovering over controls)
|
||||||
|
- Fix crazy opera bug #1776
|
||||||
|
- Don't open dropdown if target element is disabled
|
||||||
|
- Always select last item in scrollspy if you've reached the bottom of the document or element
|
||||||
|
- Typeahead should escape regexp special chars
|
||||||
|
- If interval is false on carousel, do not auto-cycle
|
||||||
|
- Add preventDefault support for all initial event types (show, close, hide, etc.)
|
||||||
|
- Fix collapse bug in ie7+ for initial collapse in
|
||||||
|
- Fix nested collapse bug
|
||||||
|
- If transitioning collapse, don't start new transition
|
||||||
|
- Try to autodetect when to use html/text method in tooltip/popovers to help prevent xss
|
||||||
|
- Add bootstrap + bootstrap.min.js to gh-pages for @remy and jsbin support
|
||||||
|
|
||||||
|
### Documentation and repo
|
||||||
|
|
||||||
|
- Combined badges and labels into a single LESS file, labels-badges.less, to reduce repeated CSS.
|
||||||
|
- Separated responsive features into multiple files. We now have a file for each grouping of media queries (tablets and down, tablets to desktops, and large desktops). Additionally, the visible/hidden utility classes and the responsive navbar are in their own files. The output is the same in the compiled CSS, but this should give folks a bit more flexibility.
|
||||||
|
- Added a new CSS Tests page in the docs (not in the top nav) for better testing of edge cases and extending the use of standard components.
|
||||||
|
- Removed the bootstrap.zip file from the repo and the make process for faster building and a lighter repo. From now on, the zip will only be in the documentation branch.
|
||||||
|
- Fixed incorrect use of class instead of ID for tabs example and added documentation for multiple ways of toggling tabs.
|
||||||
|
- Fixed required markup listed for the specialized navbar search field.
|
||||||
|
- Removed all mention of `@siteWidth`, a variable no longer in use.
|
||||||
|
- Removed mentions of unused `@buttonPrimaryBackground` variable, which is no longer in use.
|
||||||
|
- Updated LESS docs page to include all the new variables we added in previous releases.
|
||||||
|
- Removed broken "dropup" menus from tabs and pills examples (shouldn't have been there in the first place).
|
||||||
|
- Replaced `.badge-error` with `.badge-important`. The error option is not a valid class and was a typo in the docs.
|
||||||
|
- Fixed mention of how to add plain text to the navbar. Previously the docs stated you only needed a `p` tag, but the required HTML is any element with class `.navbar-text`.
|
||||||
|
- Clarified the use of `.tabbable` for tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of `.fade` to fade in tabs.
|
||||||
|
- Updated forms documentation:
|
||||||
|
- Remove unnecessary duplicate help text in first example
|
||||||
|
- Added mention of required `input` class, `.search-query`, for the search form variation
|
||||||
|
- Removed incorrect mention of form fields being `display: block;` to start as fields are `inline-block` to start.
|
||||||
|
- Added mention of `data-target` attribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with `.dropdown-toggle` class.
|
||||||
|
- Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.
|
||||||
|
|
||||||
|
|
||||||
|
## 2.0.2 (March 12, 2012)
|
||||||
|
|
||||||
|
Overview of docs changes, bugfixes, and new features.
|
||||||
|
|
||||||
|
### Documentation updates
|
||||||
|
|
||||||
|
- All docs pages now have distinct titles, such as <em>Scaffolding · Twitter Bootstrap</em>.
|
||||||
|
- Updated the Apple touch icons (now black on black instead of the blue grid) and fixed the links to them in the docs.
|
||||||
|
- Added new global styles docs section to the Scaffolding page.
|
||||||
|
- Required use of HTML5 doctype
|
||||||
|
- Overview of global typographic and links details
|
||||||
|
- Mention of our embedded CSS reset via [Normalize.css](http://necolas.github.com/normalize.css/)
|
||||||
|
- Added version number to the download button on the docs homepage.
|
||||||
|
- Updated progress bars section to simplify how the classes stack and more clearly indicate the available optional classes and styles.
|
||||||
|
- Added a new example, [SoundReady.fm](http://soundready.fm), to the homepage
|
||||||
|
- Added various sizes to the docs for button groups
|
||||||
|
|
||||||
|
### Resolved bugs
|
||||||
|
|
||||||
|
- Removed all IE7 hacks and floats from `.input-prepend` and `.input-append`, however, this requires you to **ensure there is no whitespace in your code** between `.add-on` and the `input`.
|
||||||
|
- In `.input-prepend` and `.input-append`, added ability to use add-ons on both sides when you chain the selectors.
|
||||||
|
- Updated lingering `.btn-dark` reference to `.btn-inverse`.
|
||||||
|
- Fixed issue with content being cut off in `.tab-content` for tabbable sections.
|
||||||
|
- Updated `.navbar .container` to use `width: auto;` to start and then reset the fixed widths via the `#gridSystem` mixin (it's a little dirty, but required to avoid adding another class).
|
||||||
|
- Modal footer buttons are now aligned by their parent via `text-align: right;` instead of `float: right` on the button level. This was changed to allow the use of `.pull-left` and `.pull-right` to align buttons easily. Double check your button order with this change!
|
||||||
|
- Fixed problem where default striped progress bar was green instead of blue.
|
||||||
|
- Fixed CSS selector used for `input` and `textarea` grid sizes to properly apply the CSS (was `input > .span*` and now is `input.span*`).
|
||||||
|
|
||||||
|
### New features
|
||||||
|
|
||||||
|
- Horizontal dividers support added to nav lists
|
||||||
|
- Added basic version of badges
|
||||||
|
- Added visible/hidden classes for devices
|
||||||
|
- Added support for buttons in input-prepend/append component
|
||||||
|
- Added .navbar-fixed-bottom support
|
||||||
|
- Added .dropup support for dropdown menus to pop them upward instead of downward (this is automatically done for the newly added fixed bottom navbar).
|
||||||
|
- Added mixin for [new image replacement technique](http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/)
|
||||||
|
- Added pause on hover for the carousel
|
||||||
|
- Added tons of new variables for typography, buttons, forms, dropdowns, navbar, and more for the LESS pros out there. These variables have also been reflected on the Customize page.
|
||||||
|
- Added new horizontal description list variation
|
||||||
|
- Added `.disabled` class support to the pager component (also added a mention of this to the docs)
|
||||||
|
- Added `.well-large` and `.well-small` classes for extending the well component
|
||||||
|
|
||||||
|
For a full issue-by-issue rundown of the release, check out the now closed [2.0.2 milestone on GitHub](https://github.com/twbs/bootstrap/issues?sort=created&direction=desc&state=closed&page=1&milestone=9)
|
||||||
|
|
||||||
|
## v2.0.1 (February 17, 2012)
|
||||||
|
|
||||||
|
Overview of changes:
|
||||||
|
|
||||||
|
- Previously the docs called for use of `.control-label` in the examples, but the CSS didn't make clear use of it. This class is required for horizontal forms and has been reflected in the CSS.
|
||||||
|
- We've tried our best to improve rendering of buttons and icons across all browsers. Some issues remain; Firefox throws an `!important`on `line-height` for inputs, so that's the big one.
|
||||||
|
- We refined the label component style to move away from uppercase.
|
||||||
|
- Added the black button option, `.btn-inverse`.
|
||||||
|
- Added a mini button class, `.btn-mini`.
|
||||||
|
- We had to re-add the protocol, `http:` to the HTML5 schim because IE7-8 wouldn't recognize it, dropping some HTML5 support for those browsers and introducing major performance issues.
|
||||||
|
- Resolved some issues with responsive layouts where media queries would overlap at 768px and 980px.
|
||||||
|
- Rearranged Scaffolding docs page to split fixed and fluid grid systems.
|
||||||
|
- Tons of docs updates for typos and language changes.
|
||||||
|
|
||||||
|
For full list of changes, see the now closed [v2.0.1 milestone](https://github.com/twbs/bootstrap/issues?milestone=8&state=closed).
|
||||||
|
|
||||||
|
## v2.0.0 (January 28, 2012)
|
||||||
|
Complete rewrite of the library. For full details, head to the upgrading doc at http://twbs.github.com/bootstrap/upgrading.html.
|
||||||
|
|
||||||
|
## v1.4.0
|
||||||
|
### Key bug fixes and changes
|
||||||
|
- **Updated tables** to make no border the default and add options for condensed and bordered versions
|
||||||
|
- **Updated form states** to expand on error styles and provide warning and success variations
|
||||||
|
- New javascript plugin for button states
|
||||||
|
- Switched to strict mode for Javascript plugins
|
||||||
|
- Added more data attribute controls to our plugins
|
||||||
|
- Full list of 25+ issues fixed: https://github.com/twbs/bootstrap/issues?milestone=6&state=closed
|
||||||
|
|
||||||
|
## v1.3.0
|
||||||
|
### New features
|
||||||
|
- **Javascript plugins** for modals, alerts, dropdowns, scrollspy, tabs, tooltips, and popovers that work with jQuery and Ender
|
||||||
|
- **Massively updated docs** for both the main page and for the new javascript plugins
|
||||||
|
- **Inline labels** for marking inline content with key visual flags
|
||||||
|
- Media thumbnails
|
||||||
|
- Breadcrumbs
|
||||||
|
|
||||||
|
### Updated docs
|
||||||
|
- Added complete javascript page with detailed documentation for how to use plugins
|
||||||
|
- Three complete example pages of using Bootstrap, linked from main docs page with thumbnails
|
||||||
|
- Added section for compiling Less, for guidelines on how to recompile Bootstrap with Less
|
||||||
|
- Added section for customizing grid variables in Less to roll your own grid system
|
||||||
|
- Added section for code for using pre and code tags
|
||||||
|
- Added section for form field sizes that match grid column sizes
|
||||||
|
|
||||||
|
### Key bug fixes and changes
|
||||||
|
- Updated table styles to be just a tad bit more refined
|
||||||
|
- Added new form input sizes based on the Bootstrap grid system (meaning now you can do `input.span5` for a 280px-wide input)
|
||||||
|
- Removed `:focus` states from `:active` links in Firefox
|
||||||
|
- Fixed unqualified `.clearfix` in forms.less that added bottom margin to all containers
|
||||||
|
- Updated `.container()` mixing to be `.fixed-container()` to prevent conflicts when compiling
|
||||||
|
- Added focus states (either `box-shadow` or `outline` on `:focus`) to all buttons, links, and inputs
|
||||||
|
- No longer require `h3` in topbar, but still support for backwards compatibility
|
||||||
|
|
||||||
|
## v1.2.0
|
||||||
|
- **Dropdowns refactored** to be extensible (now work in ul.tabs)
|
||||||
|
- **Added HTML5 form support** by generalizing the form selectors (e.g., input instead of input[type=text|password])
|
||||||
|
- **Gradients back in IE**, but removed rounded corners in IE9 to prevent background bleed on buttons and alert messages
|
||||||
|
- **Simplified the grid CSS** by removing the static .span1-16 classes in favor of CSS-style regex for column styles in the grid
|
||||||
|
- **Added .one-third and .two-thirds columns** to the grid system
|
||||||
|
- Fixed bug in disabled buttons where they received :active styles
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
|
## v1.1.1
|
||||||
|
- **Redesigned alerts** to be more readable
|
||||||
|
- **Refactored buttons and alerts CSS** to be simpler
|
||||||
|
- Updated grid system to be more specific and not require .column or columns
|
||||||
|
- Improved on specificity of CSS selectors by removing unnecessary tag and parent selectors
|
||||||
|
- Miscellaneous updates to docs
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
|
## v1.1.0
|
||||||
|
- **Added support for IE7 and IE8**
|
||||||
|
- Added examples directory with first example usage of Bootstrap for a simple website
|
||||||
|
- Syntax fixes for gradients and color-stops
|
||||||
|
- Miscellaneous updates to docs
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
|
## v1.0.0
|
||||||
|
- **Initial release**
|
75
src/main/webapp/vendors/bootstrap/CONTRIBUTING.md
vendored
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# Contributing to Bootstrap
|
||||||
|
|
||||||
|
Looking to contribute something to Bootstrap? **Here's how you can help.**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Reporting issues
|
||||||
|
|
||||||
|
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Bootstrap core. Please read the following guidelines before opening any issue.
|
||||||
|
|
||||||
|
1. **Search for existing issues.** We get a lot of duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
|
||||||
|
2. **Create an isolated and reproducible test case.** Be sure the problem exists in Bootstrap's code with a [reduced test case](http://css-tricks.com/reduced-test-cases/) that should be included in each bug report.
|
||||||
|
3. **Include a live example.** Make use of jsFiddle or jsBin to share your isolated test cases.
|
||||||
|
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Key branches
|
||||||
|
|
||||||
|
- `master` is the latest, deployed version.
|
||||||
|
- `gh-pages` is the hosted docs (not to be used for pull requests).
|
||||||
|
- `*-wip` is the official work in progress branch for the next release.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Notes on the repo
|
||||||
|
|
||||||
|
As of v2.0.0, Bootstrap's documentation is powered by Mustache templates and built via `make` before each commit and release. This was done to enable internationalization (translation) in a future release by uploading our strings to the [Twitter Translation Center](http://translate.twttr.com/). Any edits to the docs should be first done in the Mustache files and then recompiled into the HTML.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Pull requests
|
||||||
|
|
||||||
|
- Try to submit pull requests against the latest `*-wip` branch for easier merging
|
||||||
|
- Any changes to the docs must be made to the Mustache templates, not just the compiled HTML pages
|
||||||
|
- CSS changes must be done in .less files first, never just the compiled files
|
||||||
|
- If modifying the .less files, always recompile and commit the compiled files bootstrap.css and bootstrap.min.css
|
||||||
|
- Try not to pollute your pull request with unintended changes--keep them simple and small
|
||||||
|
- Try to share which browsers your code has been tested in before submitting a pull request
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Coding standards: HTML
|
||||||
|
|
||||||
|
- Two spaces for indentation, never tabs
|
||||||
|
- Double quotes only, never single quotes
|
||||||
|
- Always use proper indentation
|
||||||
|
- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Coding standards: CSS
|
||||||
|
|
||||||
|
- Adhere to the [Recess CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
|
||||||
|
- Multiple-line approach (one property and value per line)
|
||||||
|
- Always a space after a property's colon (.e.g, `display: block;` and not `display:block;`)
|
||||||
|
- End all lines with a semi-colon
|
||||||
|
- For multiple, comma-separated selectors, place each selector on it's own line
|
||||||
|
- Attribute selectors, like `input[type="text"]` should always wrap the attribute's value in double quotes, for consistency and safety (see this [blog post on unquoted attribute values](http://mathiasbynens.be/notes/unquoted-attribute-values) that can lead to XSS attacks).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Coding standards: JS
|
||||||
|
|
||||||
|
- No semicolons
|
||||||
|
- Comma first
|
||||||
|
- 2 spaces (no tabs)
|
||||||
|
- strict mode
|
||||||
|
- "Attractive"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twbs/bootstrap/blob/master/LICENSE
|
176
src/main/webapp/vendors/bootstrap/LICENSE
vendored
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
126
src/main/webapp/vendors/bootstrap/Makefile
vendored
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
BOOTSTRAP = ./docs/assets/css/bootstrap.css
|
||||||
|
BOOTSTRAP_LESS = ./less/bootstrap.less
|
||||||
|
BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
|
||||||
|
BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
|
||||||
|
DATE=$(shell date +%I:%M%p)
|
||||||
|
CHECK=\033[32m✔\033[39m
|
||||||
|
HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUILD DOCS
|
||||||
|
#
|
||||||
|
|
||||||
|
build:
|
||||||
|
@echo "\n${HR}"
|
||||||
|
@echo "Building Bootstrap..."
|
||||||
|
@echo "${HR}\n"
|
||||||
|
@./node_modules/.bin/jshint js/*.js --config js/.jshintrc
|
||||||
|
@./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
|
||||||
|
@echo "Running JSHint on javascript... ${CHECK} Done"
|
||||||
|
@./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
|
||||||
|
@./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
|
||||||
|
@echo "Compiling LESS with Recess... ${CHECK} Done"
|
||||||
|
@node docs/build
|
||||||
|
@cp img/* docs/assets/img/
|
||||||
|
@cp js/*.js docs/assets/js/
|
||||||
|
@cp js/tests/vendor/jquery.js docs/assets/js/
|
||||||
|
@echo "Compiling documentation... ${CHECK} Done"
|
||||||
|
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > docs/assets/js/bootstrap.js
|
||||||
|
@./node_modules/.bin/uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
|
||||||
|
@echo "/**\n* Bootstrap.js v2.3.2 by @fat & @mdo\n* Copyright 2013 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
|
||||||
|
@cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js
|
||||||
|
@rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
|
||||||
|
@echo "Compiling and minifying javascript... ${CHECK} Done"
|
||||||
|
@echo "\n${HR}"
|
||||||
|
@echo "Bootstrap successfully built at ${DATE}."
|
||||||
|
@echo "${HR}\n"
|
||||||
|
@echo "Thanks for using Bootstrap,"
|
||||||
|
@echo "<3 @mdo and @fat\n"
|
||||||
|
|
||||||
|
#
|
||||||
|
# RUN JSHINT & QUNIT TESTS IN PHANTOMJS
|
||||||
|
#
|
||||||
|
|
||||||
|
test:
|
||||||
|
./node_modules/.bin/jshint js/*.js --config js/.jshintrc
|
||||||
|
./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
|
||||||
|
node js/tests/server.js &
|
||||||
|
phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
|
||||||
|
kill -9 `cat js/tests/pid.txt`
|
||||||
|
rm js/tests/pid.txt
|
||||||
|
|
||||||
|
#
|
||||||
|
# CLEANS THE ROOT DIRECTORY OF PRIOR BUILDS
|
||||||
|
#
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -r bootstrap
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUILD SIMPLE BOOTSTRAP DIRECTORY
|
||||||
|
# recess & uglifyjs are required
|
||||||
|
#
|
||||||
|
|
||||||
|
bootstrap: bootstrap-img bootstrap-css bootstrap-js
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# JS COMPILE
|
||||||
|
#
|
||||||
|
bootstrap-js: bootstrap/js/*.js
|
||||||
|
|
||||||
|
bootstrap/js/*.js: js/*.js
|
||||||
|
mkdir -p bootstrap/js
|
||||||
|
cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js
|
||||||
|
./node_modules/.bin/uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
|
||||||
|
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2013 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
|
||||||
|
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
|
||||||
|
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
|
||||||
|
|
||||||
|
#
|
||||||
|
# CSS COMPLILE
|
||||||
|
#
|
||||||
|
|
||||||
|
bootstrap-css: bootstrap/css/*.css
|
||||||
|
|
||||||
|
bootstrap/css/*.css: less/*.less
|
||||||
|
mkdir -p bootstrap/css
|
||||||
|
./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
||||||
|
./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
||||||
|
./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
|
||||||
|
./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
|
||||||
|
|
||||||
|
#
|
||||||
|
# IMAGES
|
||||||
|
#
|
||||||
|
|
||||||
|
bootstrap-img: bootstrap/img/*
|
||||||
|
|
||||||
|
bootstrap/img/*: img/*
|
||||||
|
mkdir -p bootstrap/img
|
||||||
|
cp img/* bootstrap/img/
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
|
||||||
|
#
|
||||||
|
|
||||||
|
gh-pages: bootstrap docs
|
||||||
|
rm -f docs/assets/bootstrap.zip
|
||||||
|
zip -r docs/assets/bootstrap.zip bootstrap
|
||||||
|
rm -r bootstrap
|
||||||
|
rm -f ../bootstrap-gh-pages/assets/bootstrap.zip
|
||||||
|
node docs/build production
|
||||||
|
cp -r docs/* ../bootstrap-gh-pages
|
||||||
|
|
||||||
|
#
|
||||||
|
# WATCH LESS FILES
|
||||||
|
#
|
||||||
|
|
||||||
|
watch:
|
||||||
|
echo "Watching less files..."; \
|
||||||
|
watchr -e "watch('less/.*\.less') { system 'make' }"
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js
|
113
src/main/webapp/vendors/bootstrap/README.md
vendored
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
# [Bootstrap v2.3.2](http://twbs.github.com/bootstrap) [](http://travis-ci.org/twbs/bootstrap)
|
||||||
|
|
||||||
|
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat).
|
||||||
|
|
||||||
|
To get started, checkout [http://getbootstrap.com](http://getbootstrap.com)!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
Three quick start options are available:
|
||||||
|
|
||||||
|
* [Download the latest release](https://github.com/twbs/bootstrap/zipball/master).
|
||||||
|
* Clone the repo: `git clone git://github.com/twbs/bootstrap.git`.
|
||||||
|
* Install with Twitter's [Bower](http://bower.io): `bower install bootstrap`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible.
|
||||||
|
|
||||||
|
Releases will be numbered with the following format:
|
||||||
|
|
||||||
|
`<major>.<minor>.<patch>`
|
||||||
|
|
||||||
|
And constructed with the following guidelines:
|
||||||
|
|
||||||
|
* Breaking backward compatibility bumps the major (and resets the minor and patch)
|
||||||
|
* New additions without breaking backward compatibility bumps the minor (and resets the patch)
|
||||||
|
* Bug fixes and misc changes bumps the patch
|
||||||
|
|
||||||
|
For more information on SemVer, please visit [http://semver.org/](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Bug tracker
|
||||||
|
|
||||||
|
Have a bug or a feature request? [Please open a new issue](https://github.com/twbs/bootstrap/issues). Before opening any issue, please search for existing issues and read the [Issue Guidelines](https://github.com/necolas/issue-guidelines), written by [Nicolas Gallagher](https://github.com/necolas/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
Keep track of development and community news.
|
||||||
|
|
||||||
|
* Follow [@twbootstrap on Twitter](http://twitter.com/twbootstrap).
|
||||||
|
* Read and subscribe to the [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
|
||||||
|
* Have a question that's not a feature request or bug report? [Ask on the mailing list.](http://groups.google.com/group/twitter-bootstrap)
|
||||||
|
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##twitter-bootstrap` channel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Compiling CSS and JavaScript
|
||||||
|
|
||||||
|
Bootstrap includes a [makefile](Makefile) with convenient methods for working with the framework. Before getting started, be sure to install [the necessary local dependencies](package.json):
|
||||||
|
|
||||||
|
```
|
||||||
|
$ npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
When completed, you'll be able to run the various make commands provided:
|
||||||
|
|
||||||
|
#### build - `make`
|
||||||
|
Runs the recess compiler to rebuild the `/less` files and compiles the docs. Requires recess and uglify-js.
|
||||||
|
|
||||||
|
#### test - `make test`
|
||||||
|
Runs jshint and qunit tests headlessly in [phantomjs](http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed.
|
||||||
|
|
||||||
|
#### watch - `make watch`
|
||||||
|
This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
|
||||||
|
|
||||||
|
Should you encounter problems with installing dependencies or running the makefile commands, be sure to first uninstall any previous versions (global and local) you may have installed, and then rerun `npm install`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Please submit all pull requests against *-wip branches. If your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](http://github.com/mdo/code-guide), maintained by [Mark Otto](http://github.com/mdo).
|
||||||
|
|
||||||
|
Thanks!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
**Mark Otto**
|
||||||
|
|
||||||
|
+ [http://twitter.com/mdo](http://twitter.com/mdo)
|
||||||
|
+ [http://github.com/mdo](http://github.com/mdo)
|
||||||
|
|
||||||
|
**Jacob Thornton**
|
||||||
|
|
||||||
|
+ [http://twitter.com/fat](http://twitter.com/fat)
|
||||||
|
+ [http://github.com/fat](http://github.com/fat)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Copyright and license
|
||||||
|
|
||||||
|
Copyright 2012 Twitter, Inc.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this work except in compliance with the License.
|
||||||
|
You may obtain a copy of the License in the LICENSE file, or at:
|
||||||
|
|
||||||
|
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
8
src/main/webapp/vendors/bootstrap/bower.json
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"name": "bootstrap",
|
||||||
|
"version": "2.3.2",
|
||||||
|
"main": ["./docs/assets/js/bootstrap.js", "./docs/assets/css/bootstrap.css"],
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": ">=1.8.0 <2.1.0"
|
||||||
|
}
|
||||||
|
}
|
9
src/main/webapp/vendors/bootstrap/composer.json
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"name": "twbs/bootstrap"
|
||||||
|
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
|
||||||
|
, "keywords": ["bootstrap", "css"]
|
||||||
|
, "homepage": "http://twbs.github.com/bootstrap/"
|
||||||
|
, "author": "Twitter Inc."
|
||||||
|
, "license": "Apache-2.0"
|
||||||
|
|
||||||
|
}
|
1109
src/main/webapp/vendors/bootstrap/docs/assets/css/bootstrap-responsive.css
vendored
Normal file
6167
src/main/webapp/vendors/bootstrap/docs/assets/css/bootstrap.css
vendored
Normal file
1067
src/main/webapp/vendors/bootstrap/docs/assets/css/docs.css
vendored
Normal file
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/apple-touch-icon-114-precomposed.png
vendored
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/apple-touch-icon-57-precomposed.png
vendored
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png
vendored
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/favicon.ico
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/ico/favicon.png
vendored
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bootstrap-docs-readme.png
vendored
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg
vendored
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg
vendored
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg
vendored
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bs-docs-bootstrap-features.png
vendored
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bs-docs-masthead-pattern.png
vendored
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bs-docs-responsive-illustrations.png
vendored
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/bs-docs-twitter-github.png
vendored
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/8020select.png
vendored
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/adoptahydrant.png
vendored
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/breakingnews.png
vendored
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/fleetio.png
vendored
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/gathercontent.png
vendored
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/jshint.png
vendored
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/kippt.png
vendored
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/example-sites/soundready.png
vendored
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-carousel.png
vendored
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-fluid.png
vendored
Normal file
After Width: | Height: | Size: 204 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-justified-nav.png
vendored
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-marketing-narrow.png
vendored
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-marketing.png
vendored
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-signin.png
vendored
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-starter.png
vendored
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/bootstrap-example-sticky-footer.png
vendored
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/browser-icon-chrome.png
vendored
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/browser-icon-firefox.png
vendored
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/browser-icon-safari.png
vendored
Normal file
After Width: | Height: | Size: 205 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/slide-01.jpg
vendored
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/slide-02.jpg
vendored
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/examples/slide-03.jpg
vendored
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/glyphicons-halflings-white.png
vendored
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/glyphicons-halflings.png
vendored
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/grid-baseline-20px.png
vendored
Normal file
After Width: | Height: | Size: 84 B |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/less-logo-large.png
vendored
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/main/webapp/vendors/bootstrap/docs/assets/img/responsive-illustrations.png
vendored
Normal file
After Width: | Height: | Size: 1,008 B |
106
src/main/webapp/vendors/bootstrap/docs/assets/js/README.md
vendored
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
## 2.0 BOOTSTRAP JS PHILOSOPHY
|
||||||
|
These are the high-level design rules which guide the development of Bootstrap's plugin apis.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### DATA-ATTRIBUTE API
|
||||||
|
|
||||||
|
We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript.
|
||||||
|
|
||||||
|
We acknowledge that this isn't always the most performant and sometimes it may be desirable to turn this functionality off altogether. Therefore, as of 2.0 we provide the ability to disable the data attribute API by unbinding all events on the body namespaced with `'data-api'`. This looks like this:
|
||||||
|
|
||||||
|
$('body').off('.data-api')
|
||||||
|
|
||||||
|
To target a specific plugin, just include the plugins name as a namespace along with the data-api namespace like this:
|
||||||
|
|
||||||
|
$('body').off('.alert.data-api')
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### PROGRAMMATIC API
|
||||||
|
|
||||||
|
We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API.
|
||||||
|
|
||||||
|
All public APIs should be single, chainable methods, and return the collection acted upon.
|
||||||
|
|
||||||
|
$(".btn.danger").button("toggle").addClass("fat")
|
||||||
|
|
||||||
|
All methods should accept an optional options object, a string which targets a particular method, or null which initiates the default behavior:
|
||||||
|
|
||||||
|
$("#myModal").modal() // initialized with defaults
|
||||||
|
$("#myModal").modal({ keyboard: false }) // initialized with now keyboard
|
||||||
|
$("#myModal").modal('show') // initializes and invokes show immediately afterqwe2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### OPTIONS
|
||||||
|
|
||||||
|
Options should be sparse and add universal value. We should pick the right defaults.
|
||||||
|
|
||||||
|
All plugins should have a default object which can be modified to effect all instance's default options. The defaults object should be available via `$.fn.plugin.defaults`.
|
||||||
|
|
||||||
|
$.fn.modal.defaults = { … }
|
||||||
|
|
||||||
|
An options definition should take the following form:
|
||||||
|
|
||||||
|
*noun*: *adjective* - describes or modifies a quality of an instance
|
||||||
|
|
||||||
|
examples:
|
||||||
|
|
||||||
|
backdrop: true
|
||||||
|
keyboard: false
|
||||||
|
placement: 'top'
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### EVENTS
|
||||||
|
|
||||||
|
All events should have an infinitive and past participle form. The infinitive is fired just before an action takes place, the past participle on completion of the action.
|
||||||
|
|
||||||
|
show | shown
|
||||||
|
hide | hidden
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### CONSTRUCTORS
|
||||||
|
|
||||||
|
Each plugin should expose it's raw constructor on a `Constructor` property -- accessed in the following way:
|
||||||
|
|
||||||
|
|
||||||
|
$.fn.popover.Constructor
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### DATA ACCESSOR
|
||||||
|
|
||||||
|
Each plugin stores a copy of the invoked class on an object. This class instance can be accessed directly through jQuery's data API like this:
|
||||||
|
|
||||||
|
$('[rel=popover]').data('popover') instanceof $.fn.popover.Constructor
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### DATA ATTRIBUTES
|
||||||
|
|
||||||
|
Data attributes should take the following form:
|
||||||
|
|
||||||
|
- data-{{verb}}={{plugin}} - defines main interaction
|
||||||
|
- data-target || href^=# - defined on "control" element (if element controls an element other than self)
|
||||||
|
- data-{{noun}} - defines class instance options
|
||||||
|
|
||||||
|
examples:
|
||||||
|
|
||||||
|
// control other targets
|
||||||
|
data-toggle="modal" data-target="#foo"
|
||||||
|
data-toggle="collapse" data-target="#foo" data-parent="#bar"
|
||||||
|
|
||||||
|
// defined on element they control
|
||||||
|
data-spy="scroll"
|
||||||
|
|
||||||
|
data-dismiss="modal"
|
||||||
|
data-dismiss="alert"
|
||||||
|
|
||||||
|
data-toggle="dropdown"
|
||||||
|
|
||||||
|
data-toggle="button"
|
||||||
|
data-toggle="buttons-checkbox"
|
||||||
|
data-toggle="buttons-radio"
|
156
src/main/webapp/vendors/bootstrap/docs/assets/js/application.js
vendored
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
$(function(){
|
||||||
|
|
||||||
|
var $window = $(window)
|
||||||
|
|
||||||
|
// Disable certain links in docs
|
||||||
|
$('section [href^=#]').click(function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
// side bar
|
||||||
|
setTimeout(function () {
|
||||||
|
$('.bs-docs-sidenav').affix({
|
||||||
|
offset: {
|
||||||
|
top: function () { return $window.width() <= 980 ? 290 : 210 }
|
||||||
|
, bottom: 270
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
|
||||||
|
// make code pretty
|
||||||
|
window.prettyPrint && prettyPrint()
|
||||||
|
|
||||||
|
// add-ons
|
||||||
|
$('.add-on :checkbox').on('click', function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, method = $this.attr('checked') ? 'addClass' : 'removeClass'
|
||||||
|
$(this).parents('.add-on')[method]('active')
|
||||||
|
})
|
||||||
|
|
||||||
|
// add tipsies to grid for scaffolding
|
||||||
|
if ($('#gridSystem').length) {
|
||||||
|
$('#gridSystem').tooltip({
|
||||||
|
selector: '.show-grid > [class*="span"]'
|
||||||
|
, title: function () { return $(this).width() + 'px' }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// tooltip demo
|
||||||
|
$('.tooltip-demo').tooltip({
|
||||||
|
selector: "a[data-toggle=tooltip]"
|
||||||
|
})
|
||||||
|
|
||||||
|
$('.tooltip-test').tooltip()
|
||||||
|
$('.popover-test').popover()
|
||||||
|
|
||||||
|
// popover demo
|
||||||
|
$("a[data-toggle=popover]")
|
||||||
|
.popover()
|
||||||
|
.click(function(e) {
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
// button state demo
|
||||||
|
$('#fat-btn')
|
||||||
|
.click(function () {
|
||||||
|
var btn = $(this)
|
||||||
|
btn.button('loading')
|
||||||
|
setTimeout(function () {
|
||||||
|
btn.button('reset')
|
||||||
|
}, 3000)
|
||||||
|
})
|
||||||
|
|
||||||
|
// carousel demo
|
||||||
|
$('#myCarousel').carousel()
|
||||||
|
|
||||||
|
// javascript build logic
|
||||||
|
var inputsComponent = $("#components.download input")
|
||||||
|
, inputsPlugin = $("#plugins.download input")
|
||||||
|
, inputsVariables = $("#variables.download input")
|
||||||
|
|
||||||
|
// toggle all plugin checkboxes
|
||||||
|
$('#components.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsComponent.attr('checked', !inputsComponent.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#plugins.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#variables.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsVariables.val('')
|
||||||
|
})
|
||||||
|
|
||||||
|
// request built javascript
|
||||||
|
$('.download-btn .btn').on('click', function () {
|
||||||
|
|
||||||
|
var css = $("#components.download input:checked")
|
||||||
|
.map(function () { return this.value })
|
||||||
|
.toArray()
|
||||||
|
, js = $("#plugins.download input:checked")
|
||||||
|
.map(function () { return this.value })
|
||||||
|
.toArray()
|
||||||
|
, vars = {}
|
||||||
|
, img = ['glyphicons-halflings.png', 'glyphicons-halflings-white.png']
|
||||||
|
|
||||||
|
$("#variables.download input")
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST'
|
||||||
|
, url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com'
|
||||||
|
, dataType: 'jsonpi'
|
||||||
|
, params: {
|
||||||
|
js: js
|
||||||
|
, css: css
|
||||||
|
, vars: vars
|
||||||
|
, img: img
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
|
||||||
|
$.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
|
||||||
|
var url = opts.url;
|
||||||
|
|
||||||
|
return {
|
||||||
|
send: function(_, completeCallback) {
|
||||||
|
var name = 'jQuery_iframe_' + jQuery.now()
|
||||||
|
, iframe, form
|
||||||
|
|
||||||
|
iframe = $('<iframe>')
|
||||||
|
.attr('name', name)
|
||||||
|
.appendTo('head')
|
||||||
|
|
||||||
|
form = $('<form>')
|
||||||
|
.attr('method', opts.type) // GET or POST
|
||||||
|
.attr('action', url)
|
||||||
|
.attr('target', name)
|
||||||
|
|
||||||
|
$.each(opts.params, function(k, v) {
|
||||||
|
|
||||||
|
$('<input>')
|
||||||
|
.attr('type', 'hidden')
|
||||||
|
.attr('name', k)
|
||||||
|
.attr('value', typeof v == 'string' ? v : JSON.stringify(v))
|
||||||
|
.appendTo(form)
|
||||||
|
})
|
||||||
|
|
||||||
|
form.appendTo('body').submit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery)
|
117
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-affix.js
vendored
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
/* ==========================================================
|
||||||
|
* bootstrap-affix.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#affix
|
||||||
|
* ==========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* AFFIX CLASS DEFINITION
|
||||||
|
* ====================== */
|
||||||
|
|
||||||
|
var Affix = function (element, options) {
|
||||||
|
this.options = $.extend({}, $.fn.affix.defaults, options)
|
||||||
|
this.$window = $(window)
|
||||||
|
.on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
|
||||||
|
.on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
|
||||||
|
this.$element = $(element)
|
||||||
|
this.checkPosition()
|
||||||
|
}
|
||||||
|
|
||||||
|
Affix.prototype.checkPosition = function () {
|
||||||
|
if (!this.$element.is(':visible')) return
|
||||||
|
|
||||||
|
var scrollHeight = $(document).height()
|
||||||
|
, scrollTop = this.$window.scrollTop()
|
||||||
|
, position = this.$element.offset()
|
||||||
|
, offset = this.options.offset
|
||||||
|
, offsetBottom = offset.bottom
|
||||||
|
, offsetTop = offset.top
|
||||||
|
, reset = 'affix affix-top affix-bottom'
|
||||||
|
, affix
|
||||||
|
|
||||||
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||||
|
if (typeof offsetTop == 'function') offsetTop = offset.top()
|
||||||
|
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
|
||||||
|
|
||||||
|
affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
|
||||||
|
false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
|
||||||
|
'bottom' : offsetTop != null && scrollTop <= offsetTop ?
|
||||||
|
'top' : false
|
||||||
|
|
||||||
|
if (this.affixed === affix) return
|
||||||
|
|
||||||
|
this.affixed = affix
|
||||||
|
this.unpin = affix == 'bottom' ? position.top - scrollTop : null
|
||||||
|
|
||||||
|
this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* AFFIX PLUGIN DEFINITION
|
||||||
|
* ======================= */
|
||||||
|
|
||||||
|
var old = $.fn.affix
|
||||||
|
|
||||||
|
$.fn.affix = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('affix')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('affix', (data = new Affix(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.affix.Constructor = Affix
|
||||||
|
|
||||||
|
$.fn.affix.defaults = {
|
||||||
|
offset: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* AFFIX NO CONFLICT
|
||||||
|
* ================= */
|
||||||
|
|
||||||
|
$.fn.affix.noConflict = function () {
|
||||||
|
$.fn.affix = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* AFFIX DATA-API
|
||||||
|
* ============== */
|
||||||
|
|
||||||
|
$(window).on('load', function () {
|
||||||
|
$('[data-spy="affix"]').each(function () {
|
||||||
|
var $spy = $(this)
|
||||||
|
, data = $spy.data()
|
||||||
|
|
||||||
|
data.offset = data.offset || {}
|
||||||
|
|
||||||
|
data.offsetBottom && (data.offset.bottom = data.offsetBottom)
|
||||||
|
data.offsetTop && (data.offset.top = data.offsetTop)
|
||||||
|
|
||||||
|
$spy.affix(data)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}(window.jQuery);
|
99
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-alert.js
vendored
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
/* ==========================================================
|
||||||
|
* bootstrap-alert.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#alerts
|
||||||
|
* ==========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* ALERT CLASS DEFINITION
|
||||||
|
* ====================== */
|
||||||
|
|
||||||
|
var dismiss = '[data-dismiss="alert"]'
|
||||||
|
, Alert = function (el) {
|
||||||
|
$(el).on('click', dismiss, this.close)
|
||||||
|
}
|
||||||
|
|
||||||
|
Alert.prototype.close = function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, selector = $this.attr('data-target')
|
||||||
|
, $parent
|
||||||
|
|
||||||
|
if (!selector) {
|
||||||
|
selector = $this.attr('href')
|
||||||
|
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||||
|
}
|
||||||
|
|
||||||
|
$parent = $(selector)
|
||||||
|
|
||||||
|
e && e.preventDefault()
|
||||||
|
|
||||||
|
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||||
|
|
||||||
|
$parent.trigger(e = $.Event('close'))
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
$parent.removeClass('in')
|
||||||
|
|
||||||
|
function removeElement() {
|
||||||
|
$parent
|
||||||
|
.trigger('closed')
|
||||||
|
.remove()
|
||||||
|
}
|
||||||
|
|
||||||
|
$.support.transition && $parent.hasClass('fade') ?
|
||||||
|
$parent.on($.support.transition.end, removeElement) :
|
||||||
|
removeElement()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ALERT PLUGIN DEFINITION
|
||||||
|
* ======================= */
|
||||||
|
|
||||||
|
var old = $.fn.alert
|
||||||
|
|
||||||
|
$.fn.alert = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('alert')
|
||||||
|
if (!data) $this.data('alert', (data = new Alert(this)))
|
||||||
|
if (typeof option == 'string') data[option].call($this)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.alert.Constructor = Alert
|
||||||
|
|
||||||
|
|
||||||
|
/* ALERT NO CONFLICT
|
||||||
|
* ================= */
|
||||||
|
|
||||||
|
$.fn.alert.noConflict = function () {
|
||||||
|
$.fn.alert = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ALERT DATA-API
|
||||||
|
* ============== */
|
||||||
|
|
||||||
|
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||||
|
|
||||||
|
}(window.jQuery);
|
105
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-button.js
vendored
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
/* ============================================================
|
||||||
|
* bootstrap-button.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#buttons
|
||||||
|
* ============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* BUTTON PUBLIC CLASS DEFINITION
|
||||||
|
* ============================== */
|
||||||
|
|
||||||
|
var Button = function (element, options) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = $.extend({}, $.fn.button.defaults, options)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button.prototype.setState = function (state) {
|
||||||
|
var d = 'disabled'
|
||||||
|
, $el = this.$element
|
||||||
|
, data = $el.data()
|
||||||
|
, val = $el.is('input') ? 'val' : 'html'
|
||||||
|
|
||||||
|
state = state + 'Text'
|
||||||
|
data.resetText || $el.data('resetText', $el[val]())
|
||||||
|
|
||||||
|
$el[val](data[state] || this.options[state])
|
||||||
|
|
||||||
|
// push to event loop to allow forms to submit
|
||||||
|
setTimeout(function () {
|
||||||
|
state == 'loadingText' ?
|
||||||
|
$el.addClass(d).attr(d, d) :
|
||||||
|
$el.removeClass(d).removeAttr(d)
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button.prototype.toggle = function () {
|
||||||
|
var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
|
||||||
|
|
||||||
|
$parent && $parent
|
||||||
|
.find('.active')
|
||||||
|
.removeClass('active')
|
||||||
|
|
||||||
|
this.$element.toggleClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* BUTTON PLUGIN DEFINITION
|
||||||
|
* ======================== */
|
||||||
|
|
||||||
|
var old = $.fn.button
|
||||||
|
|
||||||
|
$.fn.button = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('button')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('button', (data = new Button(this, options)))
|
||||||
|
if (option == 'toggle') data.toggle()
|
||||||
|
else if (option) data.setState(option)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.button.defaults = {
|
||||||
|
loadingText: 'loading...'
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.button.Constructor = Button
|
||||||
|
|
||||||
|
|
||||||
|
/* BUTTON NO CONFLICT
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$.fn.button.noConflict = function () {
|
||||||
|
$.fn.button = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* BUTTON DATA-API
|
||||||
|
* =============== */
|
||||||
|
|
||||||
|
$(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
|
||||||
|
var $btn = $(e.target)
|
||||||
|
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||||
|
$btn.button('toggle')
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
207
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-carousel.js
vendored
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
/* ==========================================================
|
||||||
|
* bootstrap-carousel.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#carousel
|
||||||
|
* ==========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* CAROUSEL CLASS DEFINITION
|
||||||
|
* ========================= */
|
||||||
|
|
||||||
|
var Carousel = function (element, options) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.$indicators = this.$element.find('.carousel-indicators')
|
||||||
|
this.options = options
|
||||||
|
this.options.pause == 'hover' && this.$element
|
||||||
|
.on('mouseenter', $.proxy(this.pause, this))
|
||||||
|
.on('mouseleave', $.proxy(this.cycle, this))
|
||||||
|
}
|
||||||
|
|
||||||
|
Carousel.prototype = {
|
||||||
|
|
||||||
|
cycle: function (e) {
|
||||||
|
if (!e) this.paused = false
|
||||||
|
if (this.interval) clearInterval(this.interval);
|
||||||
|
this.options.interval
|
||||||
|
&& !this.paused
|
||||||
|
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, getActiveIndex: function () {
|
||||||
|
this.$active = this.$element.find('.item.active')
|
||||||
|
this.$items = this.$active.parent().children()
|
||||||
|
return this.$items.index(this.$active)
|
||||||
|
}
|
||||||
|
|
||||||
|
, to: function (pos) {
|
||||||
|
var activeIndex = this.getActiveIndex()
|
||||||
|
, that = this
|
||||||
|
|
||||||
|
if (pos > (this.$items.length - 1) || pos < 0) return
|
||||||
|
|
||||||
|
if (this.sliding) {
|
||||||
|
return this.$element.one('slid', function () {
|
||||||
|
that.to(pos)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeIndex == pos) {
|
||||||
|
return this.pause().cycle()
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
||||||
|
}
|
||||||
|
|
||||||
|
, pause: function (e) {
|
||||||
|
if (!e) this.paused = true
|
||||||
|
if (this.$element.find('.next, .prev').length && $.support.transition.end) {
|
||||||
|
this.$element.trigger($.support.transition.end)
|
||||||
|
this.cycle(true)
|
||||||
|
}
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = null
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, next: function () {
|
||||||
|
if (this.sliding) return
|
||||||
|
return this.slide('next')
|
||||||
|
}
|
||||||
|
|
||||||
|
, prev: function () {
|
||||||
|
if (this.sliding) return
|
||||||
|
return this.slide('prev')
|
||||||
|
}
|
||||||
|
|
||||||
|
, slide: function (type, next) {
|
||||||
|
var $active = this.$element.find('.item.active')
|
||||||
|
, $next = next || $active[type]()
|
||||||
|
, isCycling = this.interval
|
||||||
|
, direction = type == 'next' ? 'left' : 'right'
|
||||||
|
, fallback = type == 'next' ? 'first' : 'last'
|
||||||
|
, that = this
|
||||||
|
, e
|
||||||
|
|
||||||
|
this.sliding = true
|
||||||
|
|
||||||
|
isCycling && this.pause()
|
||||||
|
|
||||||
|
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
||||||
|
|
||||||
|
e = $.Event('slide', {
|
||||||
|
relatedTarget: $next[0]
|
||||||
|
, direction: direction
|
||||||
|
})
|
||||||
|
|
||||||
|
if ($next.hasClass('active')) return
|
||||||
|
|
||||||
|
if (this.$indicators.length) {
|
||||||
|
this.$indicators.find('.active').removeClass('active')
|
||||||
|
this.$element.one('slid', function () {
|
||||||
|
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
||||||
|
$nextIndicator && $nextIndicator.addClass('active')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
$next.addClass(type)
|
||||||
|
$next[0].offsetWidth // force reflow
|
||||||
|
$active.addClass(direction)
|
||||||
|
$next.addClass(direction)
|
||||||
|
this.$element.one($.support.transition.end, function () {
|
||||||
|
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||||
|
$active.removeClass(['active', direction].join(' '))
|
||||||
|
that.sliding = false
|
||||||
|
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
$active.removeClass('active')
|
||||||
|
$next.addClass('active')
|
||||||
|
this.sliding = false
|
||||||
|
this.$element.trigger('slid')
|
||||||
|
}
|
||||||
|
|
||||||
|
isCycling && this.cycle()
|
||||||
|
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CAROUSEL PLUGIN DEFINITION
|
||||||
|
* ========================== */
|
||||||
|
|
||||||
|
var old = $.fn.carousel
|
||||||
|
|
||||||
|
$.fn.carousel = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('carousel')
|
||||||
|
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
||||||
|
, action = typeof option == 'string' ? option : options.slide
|
||||||
|
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
||||||
|
if (typeof option == 'number') data.to(option)
|
||||||
|
else if (action) data[action]()
|
||||||
|
else if (options.interval) data.pause().cycle()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.carousel.defaults = {
|
||||||
|
interval: 5000
|
||||||
|
, pause: 'hover'
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.carousel.Constructor = Carousel
|
||||||
|
|
||||||
|
|
||||||
|
/* CAROUSEL NO CONFLICT
|
||||||
|
* ==================== */
|
||||||
|
|
||||||
|
$.fn.carousel.noConflict = function () {
|
||||||
|
$.fn.carousel = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CAROUSEL DATA-API
|
||||||
|
* ================= */
|
||||||
|
|
||||||
|
$(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
||||||
|
var $this = $(this), href
|
||||||
|
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||||
|
, options = $.extend({}, $target.data(), $this.data())
|
||||||
|
, slideIndex
|
||||||
|
|
||||||
|
$target.carousel(options)
|
||||||
|
|
||||||
|
if (slideIndex = $this.attr('data-slide-to')) {
|
||||||
|
$target.data('carousel').pause().to(slideIndex).cycle()
|
||||||
|
}
|
||||||
|
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
167
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-collapse.js
vendored
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
/* =============================================================
|
||||||
|
* bootstrap-collapse.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#collapse
|
||||||
|
* =============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* COLLAPSE PUBLIC CLASS DEFINITION
|
||||||
|
* ================================ */
|
||||||
|
|
||||||
|
var Collapse = function (element, options) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = $.extend({}, $.fn.collapse.defaults, options)
|
||||||
|
|
||||||
|
if (this.options.parent) {
|
||||||
|
this.$parent = $(this.options.parent)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.options.toggle && this.toggle()
|
||||||
|
}
|
||||||
|
|
||||||
|
Collapse.prototype = {
|
||||||
|
|
||||||
|
constructor: Collapse
|
||||||
|
|
||||||
|
, dimension: function () {
|
||||||
|
var hasWidth = this.$element.hasClass('width')
|
||||||
|
return hasWidth ? 'width' : 'height'
|
||||||
|
}
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var dimension
|
||||||
|
, scroll
|
||||||
|
, actives
|
||||||
|
, hasData
|
||||||
|
|
||||||
|
if (this.transitioning || this.$element.hasClass('in')) return
|
||||||
|
|
||||||
|
dimension = this.dimension()
|
||||||
|
scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||||
|
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
||||||
|
|
||||||
|
if (actives && actives.length) {
|
||||||
|
hasData = actives.data('collapse')
|
||||||
|
if (hasData && hasData.transitioning) return
|
||||||
|
actives.collapse('hide')
|
||||||
|
hasData || actives.data('collapse', null)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$element[dimension](0)
|
||||||
|
this.transition('addClass', $.Event('show'), 'shown')
|
||||||
|
$.support.transition && this.$element[dimension](this.$element[0][scroll])
|
||||||
|
}
|
||||||
|
|
||||||
|
, hide: function () {
|
||||||
|
var dimension
|
||||||
|
if (this.transitioning || !this.$element.hasClass('in')) return
|
||||||
|
dimension = this.dimension()
|
||||||
|
this.reset(this.$element[dimension]())
|
||||||
|
this.transition('removeClass', $.Event('hide'), 'hidden')
|
||||||
|
this.$element[dimension](0)
|
||||||
|
}
|
||||||
|
|
||||||
|
, reset: function (size) {
|
||||||
|
var dimension = this.dimension()
|
||||||
|
|
||||||
|
this.$element
|
||||||
|
.removeClass('collapse')
|
||||||
|
[dimension](size || 'auto')
|
||||||
|
[0].offsetWidth
|
||||||
|
|
||||||
|
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
|
||||||
|
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, transition: function (method, startEvent, completeEvent) {
|
||||||
|
var that = this
|
||||||
|
, complete = function () {
|
||||||
|
if (startEvent.type == 'show') that.reset()
|
||||||
|
that.transitioning = 0
|
||||||
|
that.$element.trigger(completeEvent)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$element.trigger(startEvent)
|
||||||
|
|
||||||
|
if (startEvent.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
this.transitioning = 1
|
||||||
|
|
||||||
|
this.$element[method]('in')
|
||||||
|
|
||||||
|
$.support.transition && this.$element.hasClass('collapse') ?
|
||||||
|
this.$element.one($.support.transition.end, complete) :
|
||||||
|
complete()
|
||||||
|
}
|
||||||
|
|
||||||
|
, toggle: function () {
|
||||||
|
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* COLLAPSE PLUGIN DEFINITION
|
||||||
|
* ========================== */
|
||||||
|
|
||||||
|
var old = $.fn.collapse
|
||||||
|
|
||||||
|
$.fn.collapse = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('collapse')
|
||||||
|
, options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
|
||||||
|
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.collapse.defaults = {
|
||||||
|
toggle: true
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.collapse.Constructor = Collapse
|
||||||
|
|
||||||
|
|
||||||
|
/* COLLAPSE NO CONFLICT
|
||||||
|
* ==================== */
|
||||||
|
|
||||||
|
$.fn.collapse.noConflict = function () {
|
||||||
|
$.fn.collapse = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* COLLAPSE DATA-API
|
||||||
|
* ================= */
|
||||||
|
|
||||||
|
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
||||||
|
var $this = $(this), href
|
||||||
|
, target = $this.attr('data-target')
|
||||||
|
|| e.preventDefault()
|
||||||
|
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
||||||
|
, option = $(target).data('collapse') ? 'toggle' : $this.data()
|
||||||
|
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
||||||
|
$(target).collapse(option)
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
169
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-dropdown.js
vendored
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
/* ============================================================
|
||||||
|
* bootstrap-dropdown.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#dropdowns
|
||||||
|
* ============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* DROPDOWN CLASS DEFINITION
|
||||||
|
* ========================= */
|
||||||
|
|
||||||
|
var toggle = '[data-toggle=dropdown]'
|
||||||
|
, Dropdown = function (element) {
|
||||||
|
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||||
|
$('html').on('click.dropdown.data-api', function () {
|
||||||
|
$el.parent().removeClass('open')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
Dropdown.prototype = {
|
||||||
|
|
||||||
|
constructor: Dropdown
|
||||||
|
|
||||||
|
, toggle: function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, $parent
|
||||||
|
, isActive
|
||||||
|
|
||||||
|
if ($this.is('.disabled, :disabled')) return
|
||||||
|
|
||||||
|
$parent = getParent($this)
|
||||||
|
|
||||||
|
isActive = $parent.hasClass('open')
|
||||||
|
|
||||||
|
clearMenus()
|
||||||
|
|
||||||
|
if (!isActive) {
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
|
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||||
|
}
|
||||||
|
$parent.toggleClass('open')
|
||||||
|
}
|
||||||
|
|
||||||
|
$this.focus()
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
, keydown: function (e) {
|
||||||
|
var $this
|
||||||
|
, $items
|
||||||
|
, $active
|
||||||
|
, $parent
|
||||||
|
, isActive
|
||||||
|
, index
|
||||||
|
|
||||||
|
if (!/(38|40|27)/.test(e.keyCode)) return
|
||||||
|
|
||||||
|
$this = $(this)
|
||||||
|
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
|
||||||
|
if ($this.is('.disabled, :disabled')) return
|
||||||
|
|
||||||
|
$parent = getParent($this)
|
||||||
|
|
||||||
|
isActive = $parent.hasClass('open')
|
||||||
|
|
||||||
|
if (!isActive || (isActive && e.keyCode == 27)) {
|
||||||
|
if (e.which == 27) $parent.find(toggle).focus()
|
||||||
|
return $this.click()
|
||||||
|
}
|
||||||
|
|
||||||
|
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
||||||
|
|
||||||
|
if (!$items.length) return
|
||||||
|
|
||||||
|
index = $items.index($items.filter(':focus'))
|
||||||
|
|
||||||
|
if (e.keyCode == 38 && index > 0) index-- // up
|
||||||
|
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
||||||
|
if (!~index) index = 0
|
||||||
|
|
||||||
|
$items
|
||||||
|
.eq(index)
|
||||||
|
.focus()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearMenus() {
|
||||||
|
$('.dropdown-backdrop').remove()
|
||||||
|
$(toggle).each(function () {
|
||||||
|
getParent($(this)).removeClass('open')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getParent($this) {
|
||||||
|
var selector = $this.attr('data-target')
|
||||||
|
, $parent
|
||||||
|
|
||||||
|
if (!selector) {
|
||||||
|
selector = $this.attr('href')
|
||||||
|
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||||
|
}
|
||||||
|
|
||||||
|
$parent = selector && $(selector)
|
||||||
|
|
||||||
|
if (!$parent || !$parent.length) $parent = $this.parent()
|
||||||
|
|
||||||
|
return $parent
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* DROPDOWN PLUGIN DEFINITION
|
||||||
|
* ========================== */
|
||||||
|
|
||||||
|
var old = $.fn.dropdown
|
||||||
|
|
||||||
|
$.fn.dropdown = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('dropdown')
|
||||||
|
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
||||||
|
if (typeof option == 'string') data[option].call($this)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.dropdown.Constructor = Dropdown
|
||||||
|
|
||||||
|
|
||||||
|
/* DROPDOWN NO CONFLICT
|
||||||
|
* ==================== */
|
||||||
|
|
||||||
|
$.fn.dropdown.noConflict = function () {
|
||||||
|
$.fn.dropdown = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
||||||
|
* =================================== */
|
||||||
|
|
||||||
|
$(document)
|
||||||
|
.on('click.dropdown.data-api', clearMenus)
|
||||||
|
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
|
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||||
|
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||||
|
|
||||||
|
}(window.jQuery);
|
247
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-modal.js
vendored
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
/* =========================================================
|
||||||
|
* bootstrap-modal.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#modals
|
||||||
|
* =========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================= */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* MODAL CLASS DEFINITION
|
||||||
|
* ====================== */
|
||||||
|
|
||||||
|
var Modal = function (element, options) {
|
||||||
|
this.options = options
|
||||||
|
this.$element = $(element)
|
||||||
|
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
||||||
|
this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
|
||||||
|
}
|
||||||
|
|
||||||
|
Modal.prototype = {
|
||||||
|
|
||||||
|
constructor: Modal
|
||||||
|
|
||||||
|
, toggle: function () {
|
||||||
|
return this[!this.isShown ? 'show' : 'hide']()
|
||||||
|
}
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var that = this
|
||||||
|
, e = $.Event('show')
|
||||||
|
|
||||||
|
this.$element.trigger(e)
|
||||||
|
|
||||||
|
if (this.isShown || e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
this.isShown = true
|
||||||
|
|
||||||
|
this.escape()
|
||||||
|
|
||||||
|
this.backdrop(function () {
|
||||||
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||||
|
|
||||||
|
if (!that.$element.parent().length) {
|
||||||
|
that.$element.appendTo(document.body) //don't move modals dom position
|
||||||
|
}
|
||||||
|
|
||||||
|
that.$element.show()
|
||||||
|
|
||||||
|
if (transition) {
|
||||||
|
that.$element[0].offsetWidth // force reflow
|
||||||
|
}
|
||||||
|
|
||||||
|
that.$element
|
||||||
|
.addClass('in')
|
||||||
|
.attr('aria-hidden', false)
|
||||||
|
|
||||||
|
that.enforceFocus()
|
||||||
|
|
||||||
|
transition ?
|
||||||
|
that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
|
||||||
|
that.$element.focus().trigger('shown')
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, hide: function (e) {
|
||||||
|
e && e.preventDefault()
|
||||||
|
|
||||||
|
var that = this
|
||||||
|
|
||||||
|
e = $.Event('hide')
|
||||||
|
|
||||||
|
this.$element.trigger(e)
|
||||||
|
|
||||||
|
if (!this.isShown || e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
this.isShown = false
|
||||||
|
|
||||||
|
this.escape()
|
||||||
|
|
||||||
|
$(document).off('focusin.modal')
|
||||||
|
|
||||||
|
this.$element
|
||||||
|
.removeClass('in')
|
||||||
|
.attr('aria-hidden', true)
|
||||||
|
|
||||||
|
$.support.transition && this.$element.hasClass('fade') ?
|
||||||
|
this.hideWithTransition() :
|
||||||
|
this.hideModal()
|
||||||
|
}
|
||||||
|
|
||||||
|
, enforceFocus: function () {
|
||||||
|
var that = this
|
||||||
|
$(document).on('focusin.modal', function (e) {
|
||||||
|
if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
|
||||||
|
that.$element.focus()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, escape: function () {
|
||||||
|
var that = this
|
||||||
|
if (this.isShown && this.options.keyboard) {
|
||||||
|
this.$element.on('keyup.dismiss.modal', function ( e ) {
|
||||||
|
e.which == 27 && that.hide()
|
||||||
|
})
|
||||||
|
} else if (!this.isShown) {
|
||||||
|
this.$element.off('keyup.dismiss.modal')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, hideWithTransition: function () {
|
||||||
|
var that = this
|
||||||
|
, timeout = setTimeout(function () {
|
||||||
|
that.$element.off($.support.transition.end)
|
||||||
|
that.hideModal()
|
||||||
|
}, 500)
|
||||||
|
|
||||||
|
this.$element.one($.support.transition.end, function () {
|
||||||
|
clearTimeout(timeout)
|
||||||
|
that.hideModal()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, hideModal: function () {
|
||||||
|
var that = this
|
||||||
|
this.$element.hide()
|
||||||
|
this.backdrop(function () {
|
||||||
|
that.removeBackdrop()
|
||||||
|
that.$element.trigger('hidden')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, removeBackdrop: function () {
|
||||||
|
this.$backdrop && this.$backdrop.remove()
|
||||||
|
this.$backdrop = null
|
||||||
|
}
|
||||||
|
|
||||||
|
, backdrop: function (callback) {
|
||||||
|
var that = this
|
||||||
|
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||||
|
|
||||||
|
if (this.isShown && this.options.backdrop) {
|
||||||
|
var doAnimate = $.support.transition && animate
|
||||||
|
|
||||||
|
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||||
|
.appendTo(document.body)
|
||||||
|
|
||||||
|
this.$backdrop.click(
|
||||||
|
this.options.backdrop == 'static' ?
|
||||||
|
$.proxy(this.$element[0].focus, this.$element[0])
|
||||||
|
: $.proxy(this.hide, this)
|
||||||
|
)
|
||||||
|
|
||||||
|
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||||
|
|
||||||
|
this.$backdrop.addClass('in')
|
||||||
|
|
||||||
|
if (!callback) return
|
||||||
|
|
||||||
|
doAnimate ?
|
||||||
|
this.$backdrop.one($.support.transition.end, callback) :
|
||||||
|
callback()
|
||||||
|
|
||||||
|
} else if (!this.isShown && this.$backdrop) {
|
||||||
|
this.$backdrop.removeClass('in')
|
||||||
|
|
||||||
|
$.support.transition && this.$element.hasClass('fade')?
|
||||||
|
this.$backdrop.one($.support.transition.end, callback) :
|
||||||
|
callback()
|
||||||
|
|
||||||
|
} else if (callback) {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* MODAL PLUGIN DEFINITION
|
||||||
|
* ======================= */
|
||||||
|
|
||||||
|
var old = $.fn.modal
|
||||||
|
|
||||||
|
$.fn.modal = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('modal')
|
||||||
|
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
||||||
|
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
else if (options.show) data.show()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.modal.defaults = {
|
||||||
|
backdrop: true
|
||||||
|
, keyboard: true
|
||||||
|
, show: true
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.modal.Constructor = Modal
|
||||||
|
|
||||||
|
|
||||||
|
/* MODAL NO CONFLICT
|
||||||
|
* ================= */
|
||||||
|
|
||||||
|
$.fn.modal.noConflict = function () {
|
||||||
|
$.fn.modal = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* MODAL DATA-API
|
||||||
|
* ============== */
|
||||||
|
|
||||||
|
$(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, href = $this.attr('href')
|
||||||
|
, $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||||
|
, option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
|
||||||
|
|
||||||
|
e.preventDefault()
|
||||||
|
|
||||||
|
$target
|
||||||
|
.modal(option)
|
||||||
|
.one('hide', function () {
|
||||||
|
$this.focus()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
114
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-popover.js
vendored
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
/* ===========================================================
|
||||||
|
* bootstrap-popover.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#popovers
|
||||||
|
* ===========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* =========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* POPOVER PUBLIC CLASS DEFINITION
|
||||||
|
* =============================== */
|
||||||
|
|
||||||
|
var Popover = function (element, options) {
|
||||||
|
this.init('popover', element, options)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
||||||
|
========================================== */
|
||||||
|
|
||||||
|
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
|
||||||
|
|
||||||
|
constructor: Popover
|
||||||
|
|
||||||
|
, setContent: function () {
|
||||||
|
var $tip = this.tip()
|
||||||
|
, title = this.getTitle()
|
||||||
|
, content = this.getContent()
|
||||||
|
|
||||||
|
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
||||||
|
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
|
||||||
|
|
||||||
|
$tip.removeClass('fade top bottom left right in')
|
||||||
|
}
|
||||||
|
|
||||||
|
, hasContent: function () {
|
||||||
|
return this.getTitle() || this.getContent()
|
||||||
|
}
|
||||||
|
|
||||||
|
, getContent: function () {
|
||||||
|
var content
|
||||||
|
, $e = this.$element
|
||||||
|
, o = this.options
|
||||||
|
|
||||||
|
content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||||
|
|| $e.attr('data-content')
|
||||||
|
|
||||||
|
return content
|
||||||
|
}
|
||||||
|
|
||||||
|
, tip: function () {
|
||||||
|
if (!this.$tip) {
|
||||||
|
this.$tip = $(this.options.template)
|
||||||
|
}
|
||||||
|
return this.$tip
|
||||||
|
}
|
||||||
|
|
||||||
|
, destroy: function () {
|
||||||
|
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
/* POPOVER PLUGIN DEFINITION
|
||||||
|
* ======================= */
|
||||||
|
|
||||||
|
var old = $.fn.popover
|
||||||
|
|
||||||
|
$.fn.popover = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('popover')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('popover', (data = new Popover(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.popover.Constructor = Popover
|
||||||
|
|
||||||
|
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
|
||||||
|
placement: 'right'
|
||||||
|
, trigger: 'click'
|
||||||
|
, content: ''
|
||||||
|
, template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
/* POPOVER NO CONFLICT
|
||||||
|
* =================== */
|
||||||
|
|
||||||
|
$.fn.popover.noConflict = function () {
|
||||||
|
$.fn.popover = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
}(window.jQuery);
|
162
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-scrollspy.js
vendored
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
/* =============================================================
|
||||||
|
* bootstrap-scrollspy.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#scrollspy
|
||||||
|
* =============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* SCROLLSPY CLASS DEFINITION
|
||||||
|
* ========================== */
|
||||||
|
|
||||||
|
function ScrollSpy(element, options) {
|
||||||
|
var process = $.proxy(this.process, this)
|
||||||
|
, $element = $(element).is('body') ? $(window) : $(element)
|
||||||
|
, href
|
||||||
|
this.options = $.extend({}, $.fn.scrollspy.defaults, options)
|
||||||
|
this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
|
||||||
|
this.selector = (this.options.target
|
||||||
|
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||||
|
|| '') + ' .nav li > a'
|
||||||
|
this.$body = $('body')
|
||||||
|
this.refresh()
|
||||||
|
this.process()
|
||||||
|
}
|
||||||
|
|
||||||
|
ScrollSpy.prototype = {
|
||||||
|
|
||||||
|
constructor: ScrollSpy
|
||||||
|
|
||||||
|
, refresh: function () {
|
||||||
|
var self = this
|
||||||
|
, $targets
|
||||||
|
|
||||||
|
this.offsets = $([])
|
||||||
|
this.targets = $([])
|
||||||
|
|
||||||
|
$targets = this.$body
|
||||||
|
.find(this.selector)
|
||||||
|
.map(function () {
|
||||||
|
var $el = $(this)
|
||||||
|
, href = $el.data('target') || $el.attr('href')
|
||||||
|
, $href = /^#\w/.test(href) && $(href)
|
||||||
|
return ( $href
|
||||||
|
&& $href.length
|
||||||
|
&& [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
|
||||||
|
})
|
||||||
|
.sort(function (a, b) { return a[0] - b[0] })
|
||||||
|
.each(function () {
|
||||||
|
self.offsets.push(this[0])
|
||||||
|
self.targets.push(this[1])
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, process: function () {
|
||||||
|
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
||||||
|
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
||||||
|
, maxScroll = scrollHeight - this.$scrollElement.height()
|
||||||
|
, offsets = this.offsets
|
||||||
|
, targets = this.targets
|
||||||
|
, activeTarget = this.activeTarget
|
||||||
|
, i
|
||||||
|
|
||||||
|
if (scrollTop >= maxScroll) {
|
||||||
|
return activeTarget != (i = targets.last()[0])
|
||||||
|
&& this.activate ( i )
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = offsets.length; i--;) {
|
||||||
|
activeTarget != targets[i]
|
||||||
|
&& scrollTop >= offsets[i]
|
||||||
|
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
||||||
|
&& this.activate( targets[i] )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, activate: function (target) {
|
||||||
|
var active
|
||||||
|
, selector
|
||||||
|
|
||||||
|
this.activeTarget = target
|
||||||
|
|
||||||
|
$(this.selector)
|
||||||
|
.parent('.active')
|
||||||
|
.removeClass('active')
|
||||||
|
|
||||||
|
selector = this.selector
|
||||||
|
+ '[data-target="' + target + '"],'
|
||||||
|
+ this.selector + '[href="' + target + '"]'
|
||||||
|
|
||||||
|
active = $(selector)
|
||||||
|
.parent('li')
|
||||||
|
.addClass('active')
|
||||||
|
|
||||||
|
if (active.parent('.dropdown-menu').length) {
|
||||||
|
active = active.closest('li.dropdown').addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
active.trigger('activate')
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* SCROLLSPY PLUGIN DEFINITION
|
||||||
|
* =========================== */
|
||||||
|
|
||||||
|
var old = $.fn.scrollspy
|
||||||
|
|
||||||
|
$.fn.scrollspy = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('scrollspy')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.scrollspy.Constructor = ScrollSpy
|
||||||
|
|
||||||
|
$.fn.scrollspy.defaults = {
|
||||||
|
offset: 10
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* SCROLLSPY NO CONFLICT
|
||||||
|
* ===================== */
|
||||||
|
|
||||||
|
$.fn.scrollspy.noConflict = function () {
|
||||||
|
$.fn.scrollspy = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* SCROLLSPY DATA-API
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$(window).on('load', function () {
|
||||||
|
$('[data-spy="scroll"]').each(function () {
|
||||||
|
var $spy = $(this)
|
||||||
|
$spy.scrollspy($spy.data())
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
144
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-tab.js
vendored
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
/* ========================================================
|
||||||
|
* bootstrap-tab.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#tabs
|
||||||
|
* ========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ======================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* TAB CLASS DEFINITION
|
||||||
|
* ==================== */
|
||||||
|
|
||||||
|
var Tab = function (element) {
|
||||||
|
this.element = $(element)
|
||||||
|
}
|
||||||
|
|
||||||
|
Tab.prototype = {
|
||||||
|
|
||||||
|
constructor: Tab
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var $this = this.element
|
||||||
|
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
||||||
|
, selector = $this.attr('data-target')
|
||||||
|
, previous
|
||||||
|
, $target
|
||||||
|
, e
|
||||||
|
|
||||||
|
if (!selector) {
|
||||||
|
selector = $this.attr('href')
|
||||||
|
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $this.parent('li').hasClass('active') ) return
|
||||||
|
|
||||||
|
previous = $ul.find('.active:last a')[0]
|
||||||
|
|
||||||
|
e = $.Event('show', {
|
||||||
|
relatedTarget: previous
|
||||||
|
})
|
||||||
|
|
||||||
|
$this.trigger(e)
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
$target = $(selector)
|
||||||
|
|
||||||
|
this.activate($this.parent('li'), $ul)
|
||||||
|
this.activate($target, $target.parent(), function () {
|
||||||
|
$this.trigger({
|
||||||
|
type: 'shown'
|
||||||
|
, relatedTarget: previous
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, activate: function ( element, container, callback) {
|
||||||
|
var $active = container.find('> .active')
|
||||||
|
, transition = callback
|
||||||
|
&& $.support.transition
|
||||||
|
&& $active.hasClass('fade')
|
||||||
|
|
||||||
|
function next() {
|
||||||
|
$active
|
||||||
|
.removeClass('active')
|
||||||
|
.find('> .dropdown-menu > .active')
|
||||||
|
.removeClass('active')
|
||||||
|
|
||||||
|
element.addClass('active')
|
||||||
|
|
||||||
|
if (transition) {
|
||||||
|
element[0].offsetWidth // reflow for transition
|
||||||
|
element.addClass('in')
|
||||||
|
} else {
|
||||||
|
element.removeClass('fade')
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( element.parent('.dropdown-menu') ) {
|
||||||
|
element.closest('li.dropdown').addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
callback && callback()
|
||||||
|
}
|
||||||
|
|
||||||
|
transition ?
|
||||||
|
$active.one($.support.transition.end, next) :
|
||||||
|
next()
|
||||||
|
|
||||||
|
$active.removeClass('in')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TAB PLUGIN DEFINITION
|
||||||
|
* ===================== */
|
||||||
|
|
||||||
|
var old = $.fn.tab
|
||||||
|
|
||||||
|
$.fn.tab = function ( option ) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('tab')
|
||||||
|
if (!data) $this.data('tab', (data = new Tab(this)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.tab.Constructor = Tab
|
||||||
|
|
||||||
|
|
||||||
|
/* TAB NO CONFLICT
|
||||||
|
* =============== */
|
||||||
|
|
||||||
|
$.fn.tab.noConflict = function () {
|
||||||
|
$.fn.tab = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TAB DATA-API
|
||||||
|
* ============ */
|
||||||
|
|
||||||
|
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
$(this).tab('show')
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
361
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-tooltip.js
vendored
Normal file
|
@ -0,0 +1,361 @@
|
||||||
|
/* ===========================================================
|
||||||
|
* bootstrap-tooltip.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#tooltips
|
||||||
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||||
|
* ===========================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* TOOLTIP PUBLIC CLASS DEFINITION
|
||||||
|
* =============================== */
|
||||||
|
|
||||||
|
var Tooltip = function (element, options) {
|
||||||
|
this.init('tooltip', element, options)
|
||||||
|
}
|
||||||
|
|
||||||
|
Tooltip.prototype = {
|
||||||
|
|
||||||
|
constructor: Tooltip
|
||||||
|
|
||||||
|
, init: function (type, element, options) {
|
||||||
|
var eventIn
|
||||||
|
, eventOut
|
||||||
|
, triggers
|
||||||
|
, trigger
|
||||||
|
, i
|
||||||
|
|
||||||
|
this.type = type
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = this.getOptions(options)
|
||||||
|
this.enabled = true
|
||||||
|
|
||||||
|
triggers = this.options.trigger.split(' ')
|
||||||
|
|
||||||
|
for (i = triggers.length; i--;) {
|
||||||
|
trigger = triggers[i]
|
||||||
|
if (trigger == 'click') {
|
||||||
|
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||||
|
} else if (trigger != 'manual') {
|
||||||
|
eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||||
|
eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||||
|
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||||
|
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.options.selector ?
|
||||||
|
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
||||||
|
this.fixTitle()
|
||||||
|
}
|
||||||
|
|
||||||
|
, getOptions: function (options) {
|
||||||
|
options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
|
||||||
|
|
||||||
|
if (options.delay && typeof options.delay == 'number') {
|
||||||
|
options.delay = {
|
||||||
|
show: options.delay
|
||||||
|
, hide: options.delay
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return options
|
||||||
|
}
|
||||||
|
|
||||||
|
, enter: function (e) {
|
||||||
|
var defaults = $.fn[this.type].defaults
|
||||||
|
, options = {}
|
||||||
|
, self
|
||||||
|
|
||||||
|
this._options && $.each(this._options, function (key, value) {
|
||||||
|
if (defaults[key] != value) options[key] = value
|
||||||
|
}, this)
|
||||||
|
|
||||||
|
self = $(e.currentTarget)[this.type](options).data(this.type)
|
||||||
|
|
||||||
|
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||||
|
|
||||||
|
clearTimeout(this.timeout)
|
||||||
|
self.hoverState = 'in'
|
||||||
|
this.timeout = setTimeout(function() {
|
||||||
|
if (self.hoverState == 'in') self.show()
|
||||||
|
}, self.options.delay.show)
|
||||||
|
}
|
||||||
|
|
||||||
|
, leave: function (e) {
|
||||||
|
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||||
|
|
||||||
|
if (this.timeout) clearTimeout(this.timeout)
|
||||||
|
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
||||||
|
|
||||||
|
self.hoverState = 'out'
|
||||||
|
this.timeout = setTimeout(function() {
|
||||||
|
if (self.hoverState == 'out') self.hide()
|
||||||
|
}, self.options.delay.hide)
|
||||||
|
}
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var $tip
|
||||||
|
, pos
|
||||||
|
, actualWidth
|
||||||
|
, actualHeight
|
||||||
|
, placement
|
||||||
|
, tp
|
||||||
|
, e = $.Event('show')
|
||||||
|
|
||||||
|
if (this.hasContent() && this.enabled) {
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
$tip = this.tip()
|
||||||
|
this.setContent()
|
||||||
|
|
||||||
|
if (this.options.animation) {
|
||||||
|
$tip.addClass('fade')
|
||||||
|
}
|
||||||
|
|
||||||
|
placement = typeof this.options.placement == 'function' ?
|
||||||
|
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
||||||
|
this.options.placement
|
||||||
|
|
||||||
|
$tip
|
||||||
|
.detach()
|
||||||
|
.css({ top: 0, left: 0, display: 'block' })
|
||||||
|
|
||||||
|
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||||
|
|
||||||
|
pos = this.getPosition()
|
||||||
|
|
||||||
|
actualWidth = $tip[0].offsetWidth
|
||||||
|
actualHeight = $tip[0].offsetHeight
|
||||||
|
|
||||||
|
switch (placement) {
|
||||||
|
case 'bottom':
|
||||||
|
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
|
||||||
|
break
|
||||||
|
case 'top':
|
||||||
|
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
|
||||||
|
break
|
||||||
|
case 'left':
|
||||||
|
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
|
||||||
|
break
|
||||||
|
case 'right':
|
||||||
|
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
this.applyPlacement(tp, placement)
|
||||||
|
this.$element.trigger('shown')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, applyPlacement: function(offset, placement){
|
||||||
|
var $tip = this.tip()
|
||||||
|
, width = $tip[0].offsetWidth
|
||||||
|
, height = $tip[0].offsetHeight
|
||||||
|
, actualWidth
|
||||||
|
, actualHeight
|
||||||
|
, delta
|
||||||
|
, replace
|
||||||
|
|
||||||
|
$tip
|
||||||
|
.offset(offset)
|
||||||
|
.addClass(placement)
|
||||||
|
.addClass('in')
|
||||||
|
|
||||||
|
actualWidth = $tip[0].offsetWidth
|
||||||
|
actualHeight = $tip[0].offsetHeight
|
||||||
|
|
||||||
|
if (placement == 'top' && actualHeight != height) {
|
||||||
|
offset.top = offset.top + height - actualHeight
|
||||||
|
replace = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (placement == 'bottom' || placement == 'top') {
|
||||||
|
delta = 0
|
||||||
|
|
||||||
|
if (offset.left < 0){
|
||||||
|
delta = offset.left * -2
|
||||||
|
offset.left = 0
|
||||||
|
$tip.offset(offset)
|
||||||
|
actualWidth = $tip[0].offsetWidth
|
||||||
|
actualHeight = $tip[0].offsetHeight
|
||||||
|
}
|
||||||
|
|
||||||
|
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
|
||||||
|
} else {
|
||||||
|
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (replace) $tip.offset(offset)
|
||||||
|
}
|
||||||
|
|
||||||
|
, replaceArrow: function(delta, dimension, position){
|
||||||
|
this
|
||||||
|
.arrow()
|
||||||
|
.css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
|
||||||
|
}
|
||||||
|
|
||||||
|
, setContent: function () {
|
||||||
|
var $tip = this.tip()
|
||||||
|
, title = this.getTitle()
|
||||||
|
|
||||||
|
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
||||||
|
$tip.removeClass('fade in top bottom left right')
|
||||||
|
}
|
||||||
|
|
||||||
|
, hide: function () {
|
||||||
|
var that = this
|
||||||
|
, $tip = this.tip()
|
||||||
|
, e = $.Event('hide')
|
||||||
|
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
$tip.removeClass('in')
|
||||||
|
|
||||||
|
function removeWithAnimation() {
|
||||||
|
var timeout = setTimeout(function () {
|
||||||
|
$tip.off($.support.transition.end).detach()
|
||||||
|
}, 500)
|
||||||
|
|
||||||
|
$tip.one($.support.transition.end, function () {
|
||||||
|
clearTimeout(timeout)
|
||||||
|
$tip.detach()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.support.transition && this.$tip.hasClass('fade') ?
|
||||||
|
removeWithAnimation() :
|
||||||
|
$tip.detach()
|
||||||
|
|
||||||
|
this.$element.trigger('hidden')
|
||||||
|
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, fixTitle: function () {
|
||||||
|
var $e = this.$element
|
||||||
|
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
||||||
|
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, hasContent: function () {
|
||||||
|
return this.getTitle()
|
||||||
|
}
|
||||||
|
|
||||||
|
, getPosition: function () {
|
||||||
|
var el = this.$element[0]
|
||||||
|
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
|
||||||
|
width: el.offsetWidth
|
||||||
|
, height: el.offsetHeight
|
||||||
|
}, this.$element.offset())
|
||||||
|
}
|
||||||
|
|
||||||
|
, getTitle: function () {
|
||||||
|
var title
|
||||||
|
, $e = this.$element
|
||||||
|
, o = this.options
|
||||||
|
|
||||||
|
title = $e.attr('data-original-title')
|
||||||
|
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
||||||
|
|
||||||
|
return title
|
||||||
|
}
|
||||||
|
|
||||||
|
, tip: function () {
|
||||||
|
return this.$tip = this.$tip || $(this.options.template)
|
||||||
|
}
|
||||||
|
|
||||||
|
, arrow: function(){
|
||||||
|
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
|
||||||
|
}
|
||||||
|
|
||||||
|
, validate: function () {
|
||||||
|
if (!this.$element[0].parentNode) {
|
||||||
|
this.hide()
|
||||||
|
this.$element = null
|
||||||
|
this.options = null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, enable: function () {
|
||||||
|
this.enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
, disable: function () {
|
||||||
|
this.enabled = false
|
||||||
|
}
|
||||||
|
|
||||||
|
, toggleEnabled: function () {
|
||||||
|
this.enabled = !this.enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
, toggle: function (e) {
|
||||||
|
var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
|
||||||
|
self.tip().hasClass('in') ? self.hide() : self.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
, destroy: function () {
|
||||||
|
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TOOLTIP PLUGIN DEFINITION
|
||||||
|
* ========================= */
|
||||||
|
|
||||||
|
var old = $.fn.tooltip
|
||||||
|
|
||||||
|
$.fn.tooltip = function ( option ) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('tooltip')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.tooltip.Constructor = Tooltip
|
||||||
|
|
||||||
|
$.fn.tooltip.defaults = {
|
||||||
|
animation: true
|
||||||
|
, placement: 'top'
|
||||||
|
, selector: false
|
||||||
|
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||||
|
, trigger: 'hover focus'
|
||||||
|
, title: ''
|
||||||
|
, delay: 0
|
||||||
|
, html: false
|
||||||
|
, container: false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TOOLTIP NO CONFLICT
|
||||||
|
* =================== */
|
||||||
|
|
||||||
|
$.fn.tooltip.noConflict = function () {
|
||||||
|
$.fn.tooltip = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
}(window.jQuery);
|
60
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-transition.js
vendored
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/* ===================================================
|
||||||
|
* bootstrap-transition.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#transitions
|
||||||
|
* ===================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ========================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||||
|
* ======================================================= */
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
|
||||||
|
$.support.transition = (function () {
|
||||||
|
|
||||||
|
var transitionEnd = (function () {
|
||||||
|
|
||||||
|
var el = document.createElement('bootstrap')
|
||||||
|
, transEndEventNames = {
|
||||||
|
'WebkitTransition' : 'webkitTransitionEnd'
|
||||||
|
, 'MozTransition' : 'transitionend'
|
||||||
|
, 'OTransition' : 'oTransitionEnd otransitionend'
|
||||||
|
, 'transition' : 'transitionend'
|
||||||
|
}
|
||||||
|
, name
|
||||||
|
|
||||||
|
for (name in transEndEventNames){
|
||||||
|
if (el.style[name] !== undefined) {
|
||||||
|
return transEndEventNames[name]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}())
|
||||||
|
|
||||||
|
return transitionEnd && {
|
||||||
|
end: transitionEnd
|
||||||
|
}
|
||||||
|
|
||||||
|
})()
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
335
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap-typeahead.js
vendored
Normal file
|
@ -0,0 +1,335 @@
|
||||||
|
/* =============================================================
|
||||||
|
* bootstrap-typeahead.js v2.3.2
|
||||||
|
* http://twbs.github.com/bootstrap/javascript.html#typeahead
|
||||||
|
* =============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
|
||||||
|
!function($){
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
||||||
|
* ================================= */
|
||||||
|
|
||||||
|
var Typeahead = function (element, options) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
||||||
|
this.matcher = this.options.matcher || this.matcher
|
||||||
|
this.sorter = this.options.sorter || this.sorter
|
||||||
|
this.highlighter = this.options.highlighter || this.highlighter
|
||||||
|
this.updater = this.options.updater || this.updater
|
||||||
|
this.source = this.options.source
|
||||||
|
this.$menu = $(this.options.menu)
|
||||||
|
this.shown = false
|
||||||
|
this.listen()
|
||||||
|
}
|
||||||
|
|
||||||
|
Typeahead.prototype = {
|
||||||
|
|
||||||
|
constructor: Typeahead
|
||||||
|
|
||||||
|
, select: function () {
|
||||||
|
var val = this.$menu.find('.active').attr('data-value')
|
||||||
|
this.$element
|
||||||
|
.val(this.updater(val))
|
||||||
|
.change()
|
||||||
|
return this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
, updater: function (item) {
|
||||||
|
return item
|
||||||
|
}
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var pos = $.extend({}, this.$element.position(), {
|
||||||
|
height: this.$element[0].offsetHeight
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$menu
|
||||||
|
.insertAfter(this.$element)
|
||||||
|
.css({
|
||||||
|
top: pos.top + pos.height
|
||||||
|
, left: pos.left
|
||||||
|
})
|
||||||
|
.show()
|
||||||
|
|
||||||
|
this.shown = true
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, hide: function () {
|
||||||
|
this.$menu.hide()
|
||||||
|
this.shown = false
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, lookup: function (event) {
|
||||||
|
var items
|
||||||
|
|
||||||
|
this.query = this.$element.val()
|
||||||
|
|
||||||
|
if (!this.query || this.query.length < this.options.minLength) {
|
||||||
|
return this.shown ? this.hide() : this
|
||||||
|
}
|
||||||
|
|
||||||
|
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
|
||||||
|
|
||||||
|
return items ? this.process(items) : this
|
||||||
|
}
|
||||||
|
|
||||||
|
, process: function (items) {
|
||||||
|
var that = this
|
||||||
|
|
||||||
|
items = $.grep(items, function (item) {
|
||||||
|
return that.matcher(item)
|
||||||
|
})
|
||||||
|
|
||||||
|
items = this.sorter(items)
|
||||||
|
|
||||||
|
if (!items.length) {
|
||||||
|
return this.shown ? this.hide() : this
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.render(items.slice(0, this.options.items)).show()
|
||||||
|
}
|
||||||
|
|
||||||
|
, matcher: function (item) {
|
||||||
|
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
|
||||||
|
}
|
||||||
|
|
||||||
|
, sorter: function (items) {
|
||||||
|
var beginswith = []
|
||||||
|
, caseSensitive = []
|
||||||
|
, caseInsensitive = []
|
||||||
|
, item
|
||||||
|
|
||||||
|
while (item = items.shift()) {
|
||||||
|
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
|
||||||
|
else if (~item.indexOf(this.query)) caseSensitive.push(item)
|
||||||
|
else caseInsensitive.push(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
return beginswith.concat(caseSensitive, caseInsensitive)
|
||||||
|
}
|
||||||
|
|
||||||
|
, highlighter: function (item) {
|
||||||
|
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
||||||
|
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||||
|
return '<strong>' + match + '</strong>'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, render: function (items) {
|
||||||
|
var that = this
|
||||||
|
|
||||||
|
items = $(items).map(function (i, item) {
|
||||||
|
i = $(that.options.item).attr('data-value', item)
|
||||||
|
i.find('a').html(that.highlighter(item))
|
||||||
|
return i[0]
|
||||||
|
})
|
||||||
|
|
||||||
|
items.first().addClass('active')
|
||||||
|
this.$menu.html(items)
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, next: function (event) {
|
||||||
|
var active = this.$menu.find('.active').removeClass('active')
|
||||||
|
, next = active.next()
|
||||||
|
|
||||||
|
if (!next.length) {
|
||||||
|
next = $(this.$menu.find('li')[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
next.addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, prev: function (event) {
|
||||||
|
var active = this.$menu.find('.active').removeClass('active')
|
||||||
|
, prev = active.prev()
|
||||||
|
|
||||||
|
if (!prev.length) {
|
||||||
|
prev = this.$menu.find('li').last()
|
||||||
|
}
|
||||||
|
|
||||||
|
prev.addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, listen: function () {
|
||||||
|
this.$element
|
||||||
|
.on('focus', $.proxy(this.focus, this))
|
||||||
|
.on('blur', $.proxy(this.blur, this))
|
||||||
|
.on('keypress', $.proxy(this.keypress, this))
|
||||||
|
.on('keyup', $.proxy(this.keyup, this))
|
||||||
|
|
||||||
|
if (this.eventSupported('keydown')) {
|
||||||
|
this.$element.on('keydown', $.proxy(this.keydown, this))
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$menu
|
||||||
|
.on('click', $.proxy(this.click, this))
|
||||||
|
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
||||||
|
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
|
||||||
|
}
|
||||||
|
|
||||||
|
, eventSupported: function(eventName) {
|
||||||
|
var isSupported = eventName in this.$element
|
||||||
|
if (!isSupported) {
|
||||||
|
this.$element.setAttribute(eventName, 'return;')
|
||||||
|
isSupported = typeof this.$element[eventName] === 'function'
|
||||||
|
}
|
||||||
|
return isSupported
|
||||||
|
}
|
||||||
|
|
||||||
|
, move: function (e) {
|
||||||
|
if (!this.shown) return
|
||||||
|
|
||||||
|
switch(e.keyCode) {
|
||||||
|
case 9: // tab
|
||||||
|
case 13: // enter
|
||||||
|
case 27: // escape
|
||||||
|
e.preventDefault()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 38: // up arrow
|
||||||
|
e.preventDefault()
|
||||||
|
this.prev()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 40: // down arrow
|
||||||
|
e.preventDefault()
|
||||||
|
this.next()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
e.stopPropagation()
|
||||||
|
}
|
||||||
|
|
||||||
|
, keydown: function (e) {
|
||||||
|
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
|
||||||
|
this.move(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
, keypress: function (e) {
|
||||||
|
if (this.suppressKeyPressRepeat) return
|
||||||
|
this.move(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
, keyup: function (e) {
|
||||||
|
switch(e.keyCode) {
|
||||||
|
case 40: // down arrow
|
||||||
|
case 38: // up arrow
|
||||||
|
case 16: // shift
|
||||||
|
case 17: // ctrl
|
||||||
|
case 18: // alt
|
||||||
|
break
|
||||||
|
|
||||||
|
case 9: // tab
|
||||||
|
case 13: // enter
|
||||||
|
if (!this.shown) return
|
||||||
|
this.select()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 27: // escape
|
||||||
|
if (!this.shown) return
|
||||||
|
this.hide()
|
||||||
|
break
|
||||||
|
|
||||||
|
default:
|
||||||
|
this.lookup()
|
||||||
|
}
|
||||||
|
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
}
|
||||||
|
|
||||||
|
, focus: function (e) {
|
||||||
|
this.focused = true
|
||||||
|
}
|
||||||
|
|
||||||
|
, blur: function (e) {
|
||||||
|
this.focused = false
|
||||||
|
if (!this.mousedover && this.shown) this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
, click: function (e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
this.select()
|
||||||
|
this.$element.focus()
|
||||||
|
}
|
||||||
|
|
||||||
|
, mouseenter: function (e) {
|
||||||
|
this.mousedover = true
|
||||||
|
this.$menu.find('.active').removeClass('active')
|
||||||
|
$(e.currentTarget).addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, mouseleave: function (e) {
|
||||||
|
this.mousedover = false
|
||||||
|
if (!this.focused && this.shown) this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD PLUGIN DEFINITION
|
||||||
|
* =========================== */
|
||||||
|
|
||||||
|
var old = $.fn.typeahead
|
||||||
|
|
||||||
|
$.fn.typeahead = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('typeahead')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.typeahead.defaults = {
|
||||||
|
source: []
|
||||||
|
, items: 8
|
||||||
|
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
||||||
|
, item: '<li><a href="#"></a></li>'
|
||||||
|
, minLength: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.typeahead.Constructor = Typeahead
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD NO CONFLICT
|
||||||
|
* =================== */
|
||||||
|
|
||||||
|
$.fn.typeahead.noConflict = function () {
|
||||||
|
$.fn.typeahead = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD DATA-API
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
if ($this.data('typeahead')) return
|
||||||
|
$this.typeahead($this.data())
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
2280
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap.js
vendored
Normal file
6
src/main/webapp/vendors/bootstrap/docs/assets/js/bootstrap.min.js
vendored
Normal file
30
src/main/webapp/vendors/bootstrap/docs/assets/js/google-code-prettify/prettify.css
vendored
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
.com { color: #93a1a1; }
|
||||||
|
.lit { color: #195f91; }
|
||||||
|
.pun, .opn, .clo { color: #93a1a1; }
|
||||||
|
.fun { color: #dc322f; }
|
||||||
|
.str, .atv { color: #D14; }
|
||||||
|
.kwd, .prettyprint .tag { color: #1e347b; }
|
||||||
|
.typ, .atn, .dec, .var { color: teal; }
|
||||||
|
.pln { color: #48484c; }
|
||||||
|
|
||||||
|
.prettyprint {
|
||||||
|
padding: 8px;
|
||||||
|
background-color: #f7f7f9;
|
||||||
|
border: 1px solid #e1e1e8;
|
||||||
|
}
|
||||||
|
.prettyprint.linenums {
|
||||||
|
-webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
-moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Specify class=linenums on a pre to get line numbering */
|
||||||
|
ol.linenums {
|
||||||
|
margin: 0 0 0 33px; /* IE indents via margin-left */
|
||||||
|
}
|
||||||
|
ol.linenums li {
|
||||||
|
padding-left: 12px;
|
||||||
|
color: #bebec5;
|
||||||
|
line-height: 20px;
|
||||||
|
text-shadow: 0 1px 0 #fff;
|
||||||
|
}
|
28
src/main/webapp/vendors/bootstrap/docs/assets/js/google-code-prettify/prettify.js
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
||||||
|
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
|
||||||
|
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
|
||||||
|
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
|
||||||
|
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
|
||||||
|
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
|
||||||
|
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
|
||||||
|
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
|
||||||
|
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
||||||
|
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
|
||||||
|
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
|
||||||
|
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
|
||||||
|
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
|
||||||
|
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
|
||||||
|
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
|
||||||
|
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
|
||||||
|
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
||||||
|
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||||
|
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||||
|
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
|
||||||
|
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
|
||||||
|
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
|
||||||
|
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
|
||||||
|
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||||
|
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
|
||||||
|
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
|
||||||
|
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
|
||||||
|
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
|
401
src/main/webapp/vendors/bootstrap/docs/assets/js/holder/holder.js
vendored
Executable file
|
@ -0,0 +1,401 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Holder - 1.9 - client side image placeholders
|
||||||
|
(c) 2012-2013 Ivan Malopinsky / http://imsky.co
|
||||||
|
|
||||||
|
Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
Commercial use requires attribution.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
var Holder = Holder || {};
|
||||||
|
(function (app, win) {
|
||||||
|
|
||||||
|
var preempted = false,
|
||||||
|
fallback = false,
|
||||||
|
canvas = document.createElement('canvas');
|
||||||
|
|
||||||
|
//getElementsByClassName polyfill
|
||||||
|
document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i<n.length;i++)r.test(n[i].className)&&s.push(n[i])}return s})
|
||||||
|
|
||||||
|
//getComputedStyle polyfill
|
||||||
|
window.getComputedStyle||(window.getComputedStyle=function(e,t){return this.el=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return t=="float"&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null},this})
|
||||||
|
|
||||||
|
//http://javascript.nwbox.com/ContentLoaded by Diego Perini with modifications
|
||||||
|
function contentLoaded(n,t){var l="complete",s="readystatechange",u=!1,h=u,c=!0,i=n.document,a=i.documentElement,e=i.addEventListener?"addEventListener":"attachEvent",v=i.addEventListener?"removeEventListener":"detachEvent",f=i.addEventListener?"":"on",r=function(e){(e.type!=s||i.readyState==l)&&((e.type=="load"?n:i)[v](f+e.type,r,u),!h&&(h=!0)&&t.call(n,null))},o=function(){try{a.doScroll("left")}catch(n){setTimeout(o,50);return}r("poll")};if(i.readyState==l)t.call(n,"lazy");else{if(i.createEventObject&&a.doScroll){try{c=!n.frameElement}catch(y){}c&&o()}i[e](f+"DOMContentLoaded",r,u),i[e](f+s,r,u),n[e](f+"load",r,u)}};
|
||||||
|
|
||||||
|
//https://gist.github.com/991057 by Jed Schmidt with modifications
|
||||||
|
function selector(a){
|
||||||
|
a=a.match(/^(\W)?(.*)/);var b=document["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2]);
|
||||||
|
var ret=[]; b!=null&&(b.length?ret=b:b.length==0?ret=b:ret=[b]); return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
//shallow object property extend
|
||||||
|
function extend(a,b){var c={};for(var d in a)c[d]=a[d];for(var e in b)c[e]=b[e];return c}
|
||||||
|
|
||||||
|
//hasOwnProperty polyfill
|
||||||
|
if (!Object.prototype.hasOwnProperty)
|
||||||
|
Object.prototype.hasOwnProperty = function(prop) {
|
||||||
|
var proto = this.__proto__ || this.constructor.prototype;
|
||||||
|
return (prop in this) && (!(prop in proto) || proto[prop] !== this[prop]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function text_size(width, height, template) {
|
||||||
|
var dimension_arr = [height, width].sort();
|
||||||
|
var maxFactor = Math.round(dimension_arr[1] / 16),
|
||||||
|
minFactor = Math.round(dimension_arr[0] / 16);
|
||||||
|
var text_height = Math.max(template.size, maxFactor);
|
||||||
|
return {
|
||||||
|
height: text_height
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw(ctx, dimensions, template, ratio) {
|
||||||
|
var ts = text_size(dimensions.width, dimensions.height, template);
|
||||||
|
var text_height = ts.height;
|
||||||
|
var width = dimensions.width * ratio, height = dimensions.height * ratio;
|
||||||
|
var font = template.font ? template.font : "sans-serif";
|
||||||
|
canvas.width = width;
|
||||||
|
canvas.height = height;
|
||||||
|
ctx.textAlign = "center";
|
||||||
|
ctx.textBaseline = "middle";
|
||||||
|
ctx.fillStyle = template.background;
|
||||||
|
ctx.fillRect(0, 0, width, height);
|
||||||
|
ctx.fillStyle = template.foreground;
|
||||||
|
ctx.font = "bold " + text_height + "px "+font;
|
||||||
|
var text = template.text ? template.text : (dimensions.width + "x" + dimensions.height);
|
||||||
|
if (ctx.measureText(text).width / width > 1) {
|
||||||
|
text_height = template.size / (ctx.measureText(text).width / width);
|
||||||
|
}
|
||||||
|
//Resetting font size if necessary
|
||||||
|
ctx.font = "bold " + (text_height * ratio) + "px "+font;
|
||||||
|
ctx.fillText(text, (width / 2), (height / 2), width);
|
||||||
|
return canvas.toDataURL("image/png");
|
||||||
|
}
|
||||||
|
|
||||||
|
function render(mode, el, holder, src) {
|
||||||
|
var dimensions = holder.dimensions,
|
||||||
|
theme = holder.theme,
|
||||||
|
text = holder.text ? decodeURIComponent(holder.text) : holder.text;
|
||||||
|
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||||
|
theme = (text ? extend(theme, { text: text }) : theme);
|
||||||
|
theme = (holder.font ? extend(theme, {font: holder.font}) : theme);
|
||||||
|
|
||||||
|
var ratio = 1;
|
||||||
|
if(window.devicePixelRatio && window.devicePixelRatio > 1){
|
||||||
|
ratio = window.devicePixelRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode == "image") {
|
||||||
|
el.setAttribute("data-src", src);
|
||||||
|
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
|
||||||
|
|
||||||
|
if(fallback || !holder.auto){
|
||||||
|
el.style.width = dimensions.width + "px";
|
||||||
|
el.style.height = dimensions.height + "px";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fallback) {
|
||||||
|
el.style.backgroundColor = theme.background;
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
el.setAttribute("src", draw(ctx, dimensions, theme, ratio));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!fallback) {
|
||||||
|
el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")";
|
||||||
|
el.style.backgroundSize = dimensions.width+"px "+dimensions.height+"px";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function fluid(el, holder, src) {
|
||||||
|
var dimensions = holder.dimensions,
|
||||||
|
theme = holder.theme,
|
||||||
|
text = holder.text;
|
||||||
|
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||||
|
theme = (text ? extend(theme, {
|
||||||
|
text: text
|
||||||
|
}) : theme);
|
||||||
|
|
||||||
|
var fluid = document.createElement("div");
|
||||||
|
|
||||||
|
fluid.style.backgroundColor = theme.background;
|
||||||
|
fluid.style.color = theme.foreground;
|
||||||
|
fluid.className = el.className + " holderjs-fluid";
|
||||||
|
fluid.style.width = holder.dimensions.width + (holder.dimensions.width.indexOf("%")>0?"":"px");
|
||||||
|
fluid.style.height = holder.dimensions.height + (holder.dimensions.height.indexOf("%")>0?"":"px");
|
||||||
|
fluid.id = el.id;
|
||||||
|
|
||||||
|
el.style.width=0;
|
||||||
|
el.style.height=0;
|
||||||
|
|
||||||
|
if (theme.text) {
|
||||||
|
fluid.appendChild(document.createTextNode(theme.text))
|
||||||
|
} else {
|
||||||
|
fluid.appendChild(document.createTextNode(dimensions_caption))
|
||||||
|
fluid_images.push(fluid);
|
||||||
|
setTimeout(fluid_update, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
el.parentNode.insertBefore(fluid, el.nextSibling)
|
||||||
|
|
||||||
|
if(window.jQuery){
|
||||||
|
jQuery(function($){
|
||||||
|
$(el).on("load", function(){
|
||||||
|
el.style.width = fluid.style.width;
|
||||||
|
el.style.height = fluid.style.height;
|
||||||
|
$(el).show();
|
||||||
|
$(fluid).remove();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fluid_update() {
|
||||||
|
for (i in fluid_images) {
|
||||||
|
if(!fluid_images.hasOwnProperty(i)) continue;
|
||||||
|
var el = fluid_images[i],
|
||||||
|
label = el.firstChild;
|
||||||
|
|
||||||
|
el.style.lineHeight = el.offsetHeight+"px";
|
||||||
|
label.data = el.offsetWidth + "x" + el.offsetHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse_flags(flags, options) {
|
||||||
|
|
||||||
|
var ret = {
|
||||||
|
theme: settings.themes.gray
|
||||||
|
}, render = false;
|
||||||
|
|
||||||
|
for (sl = flags.length, j = 0; j < sl; j++) {
|
||||||
|
var flag = flags[j];
|
||||||
|
if (app.flags.dimensions.match(flag)) {
|
||||||
|
render = true;
|
||||||
|
ret.dimensions = app.flags.dimensions.output(flag);
|
||||||
|
} else if (app.flags.fluid.match(flag)) {
|
||||||
|
render = true;
|
||||||
|
ret.dimensions = app.flags.fluid.output(flag);
|
||||||
|
ret.fluid = true;
|
||||||
|
} else if (app.flags.colors.match(flag)) {
|
||||||
|
ret.theme = app.flags.colors.output(flag);
|
||||||
|
} else if (options.themes[flag]) {
|
||||||
|
//If a theme is specified, it will override custom colors
|
||||||
|
ret.theme = options.themes[flag];
|
||||||
|
} else if (app.flags.text.match(flag)) {
|
||||||
|
ret.text = app.flags.text.output(flag);
|
||||||
|
} else if(app.flags.font.match(flag)){
|
||||||
|
ret.font = app.flags.font.output(flag);
|
||||||
|
}
|
||||||
|
else if(app.flags.auto.match(flag)){
|
||||||
|
ret.auto = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return render ? ret : false;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!canvas.getContext) {
|
||||||
|
fallback = true;
|
||||||
|
} else {
|
||||||
|
if (canvas.toDataURL("image/png")
|
||||||
|
.indexOf("data:image/png") < 0) {
|
||||||
|
//Android doesn't support data URI
|
||||||
|
fallback = true;
|
||||||
|
} else {
|
||||||
|
var ctx = canvas.getContext("2d");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var fluid_images = [];
|
||||||
|
|
||||||
|
var settings = {
|
||||||
|
domain: "holder.js",
|
||||||
|
images: "img",
|
||||||
|
bgnodes: ".holderjs",
|
||||||
|
themes: {
|
||||||
|
"gray": {
|
||||||
|
background: "#eee",
|
||||||
|
foreground: "#aaa",
|
||||||
|
size: 12
|
||||||
|
},
|
||||||
|
"social": {
|
||||||
|
background: "#3a5a97",
|
||||||
|
foreground: "#fff",
|
||||||
|
size: 12
|
||||||
|
},
|
||||||
|
"industrial": {
|
||||||
|
background: "#434A52",
|
||||||
|
foreground: "#C2F200",
|
||||||
|
size: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}"
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
app.flags = {
|
||||||
|
dimensions: {
|
||||||
|
regex: /^(\d+)x(\d+)$/,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
width: +exec[1],
|
||||||
|
height: +exec[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fluid: {
|
||||||
|
regex: /^([0-9%]+)x([0-9%]+)$/,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
width: exec[1],
|
||||||
|
height: exec[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
colors: {
|
||||||
|
regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
size: settings.themes.gray.size,
|
||||||
|
foreground: "#" + exec[2],
|
||||||
|
background: "#" + exec[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
regex: /text\:(.*)/,
|
||||||
|
output: function (val) {
|
||||||
|
return this.regex.exec(val)[1];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
font: {
|
||||||
|
regex: /font\:(.*)/,
|
||||||
|
output: function(val){
|
||||||
|
return this.regex.exec(val)[1];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
auto: {
|
||||||
|
regex: /^auto$/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var flag in app.flags) {
|
||||||
|
if(!app.flags.hasOwnProperty(flag)) continue;
|
||||||
|
app.flags[flag].match = function (val) {
|
||||||
|
return val.match(this.regex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
app.add_theme = function (name, theme) {
|
||||||
|
name != null && theme != null && (settings.themes[name] = theme);
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
app.add_image = function (src, el) {
|
||||||
|
var node = selector(el);
|
||||||
|
if (node.length) {
|
||||||
|
for (var i = 0, l = node.length; i < l; i++) {
|
||||||
|
var img = document.createElement("img")
|
||||||
|
img.setAttribute("data-src", src);
|
||||||
|
node[i].appendChild(img);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
app.run = function (o) {
|
||||||
|
var options = extend(settings, o), images = [];
|
||||||
|
|
||||||
|
if(options.images instanceof window.NodeList){
|
||||||
|
imageNodes = options.images;
|
||||||
|
}
|
||||||
|
else if(options.images instanceof window.Node){
|
||||||
|
imageNodes = [options.images];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
imageNodes = selector(options.images);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(options.elements instanceof window.NodeList){
|
||||||
|
bgnodes = options.bgnodes;
|
||||||
|
}
|
||||||
|
else if(options.bgnodes instanceof window.Node){
|
||||||
|
bgnodes = [options.bgnodes];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
bgnodes = selector(options.bgnodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
preempted = true;
|
||||||
|
|
||||||
|
for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]);
|
||||||
|
|
||||||
|
var holdercss = document.getElementById("holderjs-style");
|
||||||
|
|
||||||
|
if(!holdercss){
|
||||||
|
holdercss = document.createElement("style");
|
||||||
|
holdercss.setAttribute("id", "holderjs-style");
|
||||||
|
holdercss.type = "text/css";
|
||||||
|
document.getElementsByTagName("head")[0].appendChild(holdercss);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(holdercss.styleSheet){
|
||||||
|
holdercss.styleSheet += options.stylesheet;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
holdercss.textContent+= options.stylesheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
|
||||||
|
|
||||||
|
for (var l = bgnodes.length, i = 0; i < l; i++) {
|
||||||
|
var src = window.getComputedStyle(bgnodes[i], null)
|
||||||
|
.getPropertyValue("background-image");
|
||||||
|
var flags = src.match(cssregex);
|
||||||
|
if (flags) {
|
||||||
|
var holder = parse_flags(flags[1].split("/"), options);
|
||||||
|
if (holder) {
|
||||||
|
render("background", bgnodes[i], holder, src);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var l = images.length, i = 0; i < l; i++) {
|
||||||
|
var src = images[i].getAttribute("src") || images[i].getAttribute("data-src");
|
||||||
|
if (src != null && src.indexOf(options.domain) >= 0) {
|
||||||
|
var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1)
|
||||||
|
.split("/"), options);
|
||||||
|
if (holder) {
|
||||||
|
if (holder.fluid) {
|
||||||
|
fluid(images[i], holder, src);
|
||||||
|
} else {
|
||||||
|
render("image", images[i], holder, src);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
contentLoaded(win, function () {
|
||||||
|
if (window.addEventListener) {
|
||||||
|
window.addEventListener("resize", fluid_update, false);
|
||||||
|
window.addEventListener("orientationchange", fluid_update, false);
|
||||||
|
} else {
|
||||||
|
window.attachEvent("onresize", fluid_update)
|
||||||
|
}
|
||||||
|
preempted || app.run();
|
||||||
|
});
|
||||||
|
|
||||||
|
if ( typeof define === "function" && define.amd ) {
|
||||||
|
define( "Holder", [], function () { return app; } );
|
||||||
|
}
|
||||||
|
|
||||||
|
})(Holder, window);
|
8
src/main/webapp/vendors/bootstrap/docs/assets/js/html5shiv.js
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
/*
|
||||||
|
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||||
|
*/
|
||||||
|
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
||||||
|
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
||||||
|
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
||||||
|
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
||||||
|
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
5
src/main/webapp/vendors/bootstrap/docs/assets/js/jquery.js
vendored
Normal file
2240
src/main/webapp/vendors/bootstrap/docs/base-css.html
vendored
Normal file
44
src/main/webapp/vendors/bootstrap/docs/build/index.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
var hogan = require('hogan.js')
|
||||||
|
, fs = require('fs')
|
||||||
|
, prod = process.argv[2] == 'production'
|
||||||
|
, title = 'Bootstrap'
|
||||||
|
|
||||||
|
var layout, pages
|
||||||
|
|
||||||
|
// compile layout template
|
||||||
|
layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8')
|
||||||
|
layout = hogan.compile(layout, { sectionTags: [{o:'_i', c:'i'}] })
|
||||||
|
|
||||||
|
// retrieve pages
|
||||||
|
pages = fs.readdirSync(__dirname + '/../templates/pages')
|
||||||
|
|
||||||
|
// iterate over pages
|
||||||
|
pages.forEach(function (name) {
|
||||||
|
|
||||||
|
if (!name.match(/\.mustache$/)) return
|
||||||
|
|
||||||
|
var page = fs.readFileSync(__dirname + '/../templates/pages/' + name, 'utf-8')
|
||||||
|
, context = {}
|
||||||
|
|
||||||
|
context[name.replace(/\.mustache$/, '')] = 'active'
|
||||||
|
context._i = true
|
||||||
|
context.production = prod
|
||||||
|
context.title = name
|
||||||
|
.replace(/\.mustache/, '')
|
||||||
|
.replace(/\-.*/, '')
|
||||||
|
.replace(/(.)/, function ($1) { return $1.toUpperCase() })
|
||||||
|
|
||||||
|
if (context.title == 'Index') {
|
||||||
|
context.title = title
|
||||||
|
} else {
|
||||||
|
context.title += ' · ' + title
|
||||||
|
}
|
||||||
|
|
||||||
|
page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] })
|
||||||
|
page = layout.render(context, {
|
||||||
|
body: page
|
||||||
|
})
|
||||||
|
|
||||||
|
fs.writeFileSync(__dirname + '/../' + name.replace(/mustache$/, 'html'), page, 'utf-8')
|
||||||
|
})
|
6
src/main/webapp/vendors/bootstrap/docs/build/package.json
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"name": "bootstrap-doc-builder"
|
||||||
|
, "version": "0.0.1"
|
||||||
|
, "description": "build bootstrap docs"
|
||||||
|
, "dependencies": { "hogan.js": "1.0.5-dev" }
|
||||||
|
}
|
2651
src/main/webapp/vendors/bootstrap/docs/components.html
vendored
Normal file
539
src/main/webapp/vendors/bootstrap/docs/customize.html
vendored
Normal file
|
@ -0,0 +1,539 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Customize · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="">
|
||||||
|
<a href="./index.html">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./getting-started.html">Get started</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./scaffolding.html">Scaffolding</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./base-css.html">Base CSS</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./components.html">Components</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./javascript.html">JavaScript</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">
|
||||||
|
<a href="./customize.html">Customize</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Masthead
|
||||||
|
================================================== -->
|
||||||
|
<header class="jumbotron subhead" id="overview">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Customize and download</h1>
|
||||||
|
<p class="lead"><a href="https://github.com/twitter/bootstrap/archive/v2.3.2.zip">Download Bootstrap</a> or customize variables, components, JavaScript plugins, and more.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Docs nav
|
||||||
|
================================================== -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span3 bs-docs-sidebar">
|
||||||
|
<ul class="nav nav-list bs-docs-sidenav">
|
||||||
|
<li><a href="#components"><i class="icon-chevron-right"></i> 1. Choose components</a></li>
|
||||||
|
<li><a href="#plugins"><i class="icon-chevron-right"></i> 2. Select jQuery plugins</a></li>
|
||||||
|
<li><a href="#variables"><i class="icon-chevron-right"></i> 3. Customize variables</a></li>
|
||||||
|
<li><a href="#download"><i class="icon-chevron-right"></i> 4. Download</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="span9">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Customize form
|
||||||
|
================================================== -->
|
||||||
|
<form>
|
||||||
|
<section class="download" id="components">
|
||||||
|
<div class="page-header">
|
||||||
|
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||||
|
<h1>
|
||||||
|
1. Choose components
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row download-builder">
|
||||||
|
<div class="span3">
|
||||||
|
<h3>Scaffolding</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> Normalize and reset</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="scaffolding.less"> Body type and links</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label>
|
||||||
|
<h3>Base CSS</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="labels-badges.less"> Labels and badges</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="sprites.less"> Icons</label>
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
<h3>Components</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="button-groups.less"> Button groups and dropdowns</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="navs.less"> Navs, tabs, and pills</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="navbar.less"> Navbar</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="breadcrumbs.less"> Breadcrumbs</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="pagination.less"> Pagination</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="pager.less"> Pager</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="thumbnails.less"> Thumbnails</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> Progress bars</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> Hero unit</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> Media component</label>
|
||||||
|
<h3>JS Components</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> Tooltips</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> Popovers</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="modals.less"> Modals</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="dropdowns.less"> Dropdowns</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="accordion.less"> Collapse</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="carousel.less"> Carousel</label>
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
<h3>Miscellaneous</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> Close icon</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> Utilities</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="component-animations.less"> Component animations</label>
|
||||||
|
<h3>Responsive</h3>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-utilities.less"> Visible/hidden classes</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-767px-max.less"> Narrow tablets and below (<767px)</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-768px-979px.less"> Tablets to desktops (767-979px)</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-1200px-min.less"> Large desktops (>1200px)</label>
|
||||||
|
<label class="checkbox"><input checked="checked" type="checkbox" value="responsive-navbar.less"> Responsive navbar</label>
|
||||||
|
</div><!-- /span -->
|
||||||
|
</div><!-- /row -->
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="download" id="plugins">
|
||||||
|
<div class="page-header">
|
||||||
|
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
|
||||||
|
<h1>
|
||||||
|
2. Select jQuery plugins
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row download-builder">
|
||||||
|
<div class="span3">
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-transition.js">
|
||||||
|
Transitions <small>(required for any animation)</small>
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-modal.js">
|
||||||
|
Modals
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-dropdown.js">
|
||||||
|
Dropdowns
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-scrollspy.js">
|
||||||
|
Scrollspy
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-tab.js">
|
||||||
|
Togglable tabs
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-tooltip.js">
|
||||||
|
Tooltips
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-popover.js">
|
||||||
|
Popovers <small>(requires Tooltips)</small>
|
||||||
|
</label>
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-affix.js">
|
||||||
|
Affix
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-alert.js">
|
||||||
|
Alert messages
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-button.js">
|
||||||
|
Buttons
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-collapse.js">
|
||||||
|
Collapse
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-carousel.js">
|
||||||
|
Carousel
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" checked="true" value="bootstrap-typeahead.js">
|
||||||
|
Typeahead
|
||||||
|
</label>
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
<h4 class="muted">Heads up!</h4>
|
||||||
|
<p class="muted">All checked plugins will be compiled into a single file, bootstrap.js. All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
|
||||||
|
</div><!-- /span -->
|
||||||
|
</div><!-- /row -->
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section class="download" id="variables">
|
||||||
|
<div class="page-header">
|
||||||
|
<a class="btn btn-small pull-right toggle-all" href="#">Reset to defaults</a>
|
||||||
|
<h1>
|
||||||
|
3. Customize variables
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row download-builder">
|
||||||
|
<div class="span3">
|
||||||
|
<h3>Scaffolding</h3>
|
||||||
|
<label>@bodyBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@textColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayDark">
|
||||||
|
|
||||||
|
<h3>Links</h3>
|
||||||
|
<label>@linkColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="#08c">
|
||||||
|
<label>@linkColorHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="darken(@linkColor, 15%)">
|
||||||
|
<h3>Colors</h3>
|
||||||
|
<label>@blue</label>
|
||||||
|
<input type="text" class="span3" placeholder="#049cdb">
|
||||||
|
<label>@green</label>
|
||||||
|
<input type="text" class="span3" placeholder="#46a546">
|
||||||
|
<label>@red</label>
|
||||||
|
<input type="text" class="span3" placeholder="#9d261d">
|
||||||
|
<label>@yellow</label>
|
||||||
|
<input type="text" class="span3" placeholder="#ffc40d">
|
||||||
|
<label>@orange</label>
|
||||||
|
<input type="text" class="span3" placeholder="#f89406">
|
||||||
|
<label>@pink</label>
|
||||||
|
<input type="text" class="span3" placeholder="#c3325f">
|
||||||
|
<label>@purple</label>
|
||||||
|
<input type="text" class="span3" placeholder="#7a43b6">
|
||||||
|
|
||||||
|
<h3>Sprites</h3>
|
||||||
|
<label>@iconSpritePath</label>
|
||||||
|
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings.png'">
|
||||||
|
<label>@iconWhiteSpritePath</label>
|
||||||
|
<input type="text" class="span3" placeholder="'../img/glyphicons-halflings-white.png'">
|
||||||
|
|
||||||
|
<h3>Grid system</h3>
|
||||||
|
<label>@gridColumns</label>
|
||||||
|
<input type="text" class="span3" placeholder="12">
|
||||||
|
<label>@gridColumnWidth</label>
|
||||||
|
<input type="text" class="span3" placeholder="60px">
|
||||||
|
<label>@gridGutterWidth</label>
|
||||||
|
<input type="text" class="span3" placeholder="20px">
|
||||||
|
<label>@gridColumnWidth1200</label>
|
||||||
|
<input type="text" class="span3" placeholder="70px">
|
||||||
|
<label>@gridGutterWidth1200</label>
|
||||||
|
<input type="text" class="span3" placeholder="30px">
|
||||||
|
<label>@gridColumnWidth768</label>
|
||||||
|
<input type="text" class="span3" placeholder="42px">
|
||||||
|
<label>@gridGutterWidth768</label>
|
||||||
|
<input type="text" class="span3" placeholder="20px">
|
||||||
|
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
|
||||||
|
<h3>Typography</h3>
|
||||||
|
<label>@sansFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
||||||
|
<label>@serifFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif">
|
||||||
|
<label>@monoFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace">
|
||||||
|
|
||||||
|
<label>@baseFontSize</label>
|
||||||
|
<input type="text" class="span3" placeholder="14px">
|
||||||
|
<label>@baseFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="@sansFontFamily">
|
||||||
|
<label>@baseLineHeight</label>
|
||||||
|
<input type="text" class="span3" placeholder="20px">
|
||||||
|
|
||||||
|
<label>@altFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="@serifFontFamily">
|
||||||
|
<label>@headingsFontFamily</label>
|
||||||
|
<input type="text" class="span3" placeholder="inherit">
|
||||||
|
<label>@headingsFontWeight</label>
|
||||||
|
<input type="text" class="span3" placeholder="bold">
|
||||||
|
<label>@headingsColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="inherit">
|
||||||
|
|
||||||
|
<label>@fontSizeLarge</label>
|
||||||
|
<input type="text" class="span3" placeholder="@baseFontSize * 1.25">
|
||||||
|
<label>@fontSizeSmall</label>
|
||||||
|
<input type="text" class="span3" placeholder="@baseFontSize * 0.85">
|
||||||
|
<label>@fontSizeMini</label>
|
||||||
|
<input type="text" class="span3" placeholder="@baseFontSize * 0.75">
|
||||||
|
|
||||||
|
<label>@paddingLarge</label>
|
||||||
|
<input type="text" class="span3" placeholder="11px 19px">
|
||||||
|
<label>@paddingSmall</label>
|
||||||
|
<input type="text" class="span3" placeholder="2px 10px">
|
||||||
|
<label>@paddingMini</label>
|
||||||
|
<input type="text" class="span3" placeholder="1px 6px">
|
||||||
|
|
||||||
|
<label>@baseBorderRadius</label>
|
||||||
|
<input type="text" class="span3" placeholder="4px">
|
||||||
|
<label>@borderRadiusLarge</label>
|
||||||
|
<input type="text" class="span3" placeholder="6px">
|
||||||
|
<label>@borderRadiusSmall</label>
|
||||||
|
<input type="text" class="span3" placeholder="3px">
|
||||||
|
|
||||||
|
<label>@heroUnitBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayLighter">
|
||||||
|
<label>@heroUnitHeadingColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="inherit">
|
||||||
|
<label>@heroUnitLeadColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="inherit">
|
||||||
|
|
||||||
|
<h3>Tables</h3>
|
||||||
|
<label>@tableBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="transparent">
|
||||||
|
<label>@tableBackgroundAccent</label>
|
||||||
|
<input type="text" class="span3" placeholder="#f9f9f9">
|
||||||
|
<label>@tableBackgroundHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||||
|
<label>@tableBorder</label>
|
||||||
|
<input type="text" class="span3" placeholder="#ddd">
|
||||||
|
|
||||||
|
<h3>Forms</h3>
|
||||||
|
<label>@placeholderText</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayLight">
|
||||||
|
<label>@inputBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@inputBorder</label>
|
||||||
|
<input type="text" class="span3" placeholder="#ccc">
|
||||||
|
<label>@inputBorderRadius</label>
|
||||||
|
<input type="text" class="span3" placeholder="3px">
|
||||||
|
<label>@inputDisabledBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayLighter">
|
||||||
|
<label>@formActionsBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="#f5f5f5">
|
||||||
|
<label>@btnPrimaryBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@linkColor">
|
||||||
|
<label>@btnPrimaryBackgroundHighlight</label>
|
||||||
|
<input type="text" class="span3" placeholder="darken(@white, 10%)">
|
||||||
|
|
||||||
|
</div><!-- /span -->
|
||||||
|
<div class="span3">
|
||||||
|
|
||||||
|
<h3>Form states & alerts</h3>
|
||||||
|
<label>@warningText</label>
|
||||||
|
<input type="text" class="span3" placeholder="#c09853">
|
||||||
|
<label>@warningBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="#fcf8e3">
|
||||||
|
<label>@errorText</label>
|
||||||
|
<input type="text" class="span3" placeholder="#b94a48">
|
||||||
|
<label>@errorBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="#f2dede">
|
||||||
|
<label>@successText</label>
|
||||||
|
<input type="text" class="span3" placeholder="#468847">
|
||||||
|
<label>@successBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="#dff0d8">
|
||||||
|
<label>@infoText</label>
|
||||||
|
<input type="text" class="span3" placeholder="#3a87ad">
|
||||||
|
<label>@infoBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="#d9edf7">
|
||||||
|
|
||||||
|
<h3>Navbar</h3>
|
||||||
|
<label>@navbarHeight</label>
|
||||||
|
<input type="text" class="span3" placeholder="40px">
|
||||||
|
<label>@navbarBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayDarker">
|
||||||
|
<label>@navbarBackgroundHighlight</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayDark">
|
||||||
|
<label>@navbarText</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayLight">
|
||||||
|
<label>@navbarBrandColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="@navbarLinkColor">
|
||||||
|
<label>@navbarLinkColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayLight">
|
||||||
|
<label>@navbarLinkColorHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@navbarLinkColorActive</label>
|
||||||
|
<input type="text" class="span3" placeholder="@navbarLinkColorHover">
|
||||||
|
<label>@navbarLinkBackgroundHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="transparent">
|
||||||
|
<label>@navbarLinkBackgroundActive</label>
|
||||||
|
<input type="text" class="span3" placeholder="@navbarBackground">
|
||||||
|
<label>@navbarSearchBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="lighten(@navbarBackground, 25%)">
|
||||||
|
<label>@navbarSearchBackgroundFocus</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@navbarSearchBorder</label>
|
||||||
|
<input type="text" class="span3" placeholder="darken(@navbarSearchBackground, 30%)">
|
||||||
|
<label>@navbarSearchPlaceholderColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="#ccc">
|
||||||
|
|
||||||
|
<label>@navbarCollapseWidth</label>
|
||||||
|
<input type="text" class="span3" placeholder="979px">
|
||||||
|
<label>@navbarCollapseDesktopWidth</label>
|
||||||
|
<input type="text" class="span3" placeholder="@navbarCollapseWidth + 1">
|
||||||
|
|
||||||
|
<h3>Dropdowns</h3>
|
||||||
|
<label>@dropdownBackground</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@dropdownBorder</label>
|
||||||
|
<input type="text" class="span3" placeholder="rgba(0,0,0,.2)">
|
||||||
|
<label>@dropdownLinkColor</label>
|
||||||
|
<input type="text" class="span3" placeholder="@grayDark">
|
||||||
|
<label>@dropdownLinkColorHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="@white">
|
||||||
|
<label>@dropdownLinkBackgroundHover</label>
|
||||||
|
<input type="text" class="span3" placeholder="@linkColor">
|
||||||
|
</div><!-- /span -->
|
||||||
|
</div><!-- /row -->
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="download" id="download">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>
|
||||||
|
4. Download
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="download-btn">
|
||||||
|
<a class="btn btn-primary" href="#" onclick="_gaq.push(['_trackEvent', 'Customize', 'Download', 'Customize and Download']);">Customize and Download</a>
|
||||||
|
<h4>What's included?</h4>
|
||||||
|
<p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
|
||||||
|
</div>
|
||||||
|
</section><!-- /download -->
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
454
src/main/webapp/vendors/bootstrap/docs/examples/carousel.html
vendored
Normal file
|
@ -0,0 +1,454 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Carousel Template · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
/* GLOBAL STYLES
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Padding below the footer and lighter body text */
|
||||||
|
|
||||||
|
body {
|
||||||
|
padding-bottom: 40px;
|
||||||
|
color: #5a5a5a;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* CUSTOMIZE THE NAVBAR
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Special class on .container surrounding .navbar, used for positioning it into place. */
|
||||||
|
.navbar-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 10;
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: -90px; /* Negative margin to pull up carousel. 90px is roughly margins and height of navbar. */
|
||||||
|
}
|
||||||
|
.navbar-wrapper .navbar {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Remove border and change up box shadow for more contrast */
|
||||||
|
.navbar .navbar-inner {
|
||||||
|
border: 0;
|
||||||
|
-webkit-box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||||
|
-moz-box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||||
|
box-shadow: 0 2px 10px rgba(0,0,0,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Downsize the brand/project name a bit */
|
||||||
|
.navbar .brand {
|
||||||
|
padding: 14px 20px 16px; /* Increase vertical padding to match navbar links */
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navbar links: increase padding for taller navbar */
|
||||||
|
.navbar .nav > li > a {
|
||||||
|
padding: 15px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Offset the responsive button for proper vertical alignment */
|
||||||
|
.navbar .btn-navbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* CUSTOMIZE THE CAROUSEL
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Carousel base class */
|
||||||
|
.carousel {
|
||||||
|
margin-bottom: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel .container {
|
||||||
|
position: relative;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-control {
|
||||||
|
height: 80px;
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 120px;
|
||||||
|
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel .item {
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
.carousel img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
min-width: 100%;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-caption {
|
||||||
|
background-color: transparent;
|
||||||
|
position: static;
|
||||||
|
max-width: 550px;
|
||||||
|
padding: 0 20px;
|
||||||
|
margin-top: 200px;
|
||||||
|
}
|
||||||
|
.carousel-caption h1,
|
||||||
|
.carousel-caption .lead {
|
||||||
|
margin: 0;
|
||||||
|
line-height: 1.25;
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||||
|
}
|
||||||
|
.carousel-caption .btn {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* MARKETING CONTENT
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Center align the text within the three columns below the carousel */
|
||||||
|
.marketing .span4 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.marketing h2 {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.marketing .span4 p {
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Featurettes
|
||||||
|
------------------------- */
|
||||||
|
|
||||||
|
.featurette-divider {
|
||||||
|
margin: 80px 0; /* Space out the Bootstrap <hr> more */
|
||||||
|
}
|
||||||
|
.featurette {
|
||||||
|
padding-top: 120px; /* Vertically center images part 1: add padding above and below text. */
|
||||||
|
overflow: hidden; /* Vertically center images part 2: clear their floats. */
|
||||||
|
}
|
||||||
|
.featurette-image {
|
||||||
|
margin-top: -120px; /* Vertically center images part 3: negative margin up the image the same amount of the padding to center it. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Give some space on the sides of the floated elements so text doesn't run right into it. */
|
||||||
|
.featurette-image.pull-left {
|
||||||
|
margin-right: 40px;
|
||||||
|
}
|
||||||
|
.featurette-image.pull-right {
|
||||||
|
margin-left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Thin out the marketing headings */
|
||||||
|
.featurette-heading {
|
||||||
|
font-size: 50px;
|
||||||
|
font-weight: 300;
|
||||||
|
line-height: 1;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RESPONSIVE CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
@media (max-width: 979px) {
|
||||||
|
|
||||||
|
.container.navbar-wrapper {
|
||||||
|
margin-bottom: 0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.navbar-inner {
|
||||||
|
border-radius: 0;
|
||||||
|
margin: -20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel .item {
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
.carousel img {
|
||||||
|
width: auto;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featurette {
|
||||||
|
height: auto;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.featurette-image.pull-left,
|
||||||
|
.featurette-image.pull-right {
|
||||||
|
display: block;
|
||||||
|
float: none;
|
||||||
|
max-width: 40%;
|
||||||
|
margin: 0 auto 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
|
||||||
|
.navbar-inner {
|
||||||
|
margin: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel {
|
||||||
|
margin-left: -20px;
|
||||||
|
margin-right: -20px;
|
||||||
|
}
|
||||||
|
.carousel .container {
|
||||||
|
|
||||||
|
}
|
||||||
|
.carousel .item {
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
|
.carousel img {
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
|
.carousel-caption {
|
||||||
|
width: 65%;
|
||||||
|
padding: 0 70px;
|
||||||
|
margin-top: 100px;
|
||||||
|
}
|
||||||
|
.carousel-caption h1 {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
.carousel-caption .lead,
|
||||||
|
.carousel-caption .btn {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.marketing .span4 + .span4 {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featurette-heading {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
.featurette .lead {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- NAVBAR
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar-wrapper">
|
||||||
|
<!-- Wrap the .navbar in .container to center it within the absolutely positioned parent. -->
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<!-- Responsive Navbar Part 1: Button for triggering responsive navbar (not covered in tutorial). Include responsive CSS to utilize. -->
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="#">Project name</a>
|
||||||
|
<!-- Responsive Navbar Part 2: Place all navbar contents you want collapsed withing .navbar-collapse.collapse. -->
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<!-- Read about Bootstrap dropdowns at http://twbs.github.com/bootstrap/javascript.html#dropdowns -->
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="nav-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div><!-- /.navbar-inner -->
|
||||||
|
</div><!-- /.navbar -->
|
||||||
|
|
||||||
|
</div> <!-- /.container -->
|
||||||
|
</div><!-- /.navbar-wrapper -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Carousel
|
||||||
|
================================================== -->
|
||||||
|
<div id="myCarousel" class="carousel slide">
|
||||||
|
<div class="carousel-inner">
|
||||||
|
<div class="item active">
|
||||||
|
<img src="../assets/img/examples/slide-01.jpg" alt="">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>Example headline.</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<a class="btn btn-large btn-primary" href="#">Sign up today</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="../assets/img/examples/slide-02.jpg" alt="">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>Another example headline.</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<a class="btn btn-large btn-primary" href="#">Learn more</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="../assets/img/examples/slide-03.jpg" alt="">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>One more for good measure.</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<a class="btn btn-large btn-primary" href="#">Browse gallery</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
|
||||||
|
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
|
||||||
|
</div><!-- /.carousel -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Marketing messaging and featurettes
|
||||||
|
================================================== -->
|
||||||
|
<!-- Wrap the rest of the page in another container to center all the content. -->
|
||||||
|
|
||||||
|
<div class="container marketing">
|
||||||
|
|
||||||
|
<!-- Three columns of text below the carousel -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span4">
|
||||||
|
<img class="img-circle" data-src="holder.js/140x140">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.span4 -->
|
||||||
|
<div class="span4">
|
||||||
|
<img class="img-circle" data-src="holder.js/140x140">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.span4 -->
|
||||||
|
<div class="span4">
|
||||||
|
<img class="img-circle" data-src="holder.js/140x140">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.span4 -->
|
||||||
|
</div><!-- /.row -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- START THE FEATURETTES -->
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="featurette">
|
||||||
|
<img class="featurette-image pull-right" src="../assets/img/examples/browser-icon-chrome.png">
|
||||||
|
<h2 class="featurette-heading">First featurette headling. <span class="muted">It'll blow your mind.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="featurette">
|
||||||
|
<img class="featurette-image pull-left" src="../assets/img/examples/browser-icon-firefox.png">
|
||||||
|
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="muted">See for yourself.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="featurette">
|
||||||
|
<img class="featurette-image pull-right" src="../assets/img/examples/browser-icon-safari.png">
|
||||||
|
<h2 class="featurette-heading">And lastly, this one. <span class="muted">Checkmate.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<!-- /END THE FEATURETTES -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- FOOTER -->
|
||||||
|
<footer>
|
||||||
|
<p class="pull-right"><a href="#">Back to top</a></p>
|
||||||
|
<p>© 2013 Company, Inc. · <a href="#">Privacy</a> · <a href="#">Terms</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div><!-- /.container -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script>
|
||||||
|
!function ($) {
|
||||||
|
$(function(){
|
||||||
|
// carousel demo
|
||||||
|
$('#myCarousel').carousel()
|
||||||
|
})
|
||||||
|
}(window.jQuery)
|
||||||
|
</script>
|
||||||
|
<script src="../assets/js/holder/holder.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
163
src/main/webapp/vendors/bootstrap/docs/examples/fluid.html
vendored
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Bootstrap, from Twitter</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
padding-top: 60px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
.sidebar-nav {
|
||||||
|
padding: 9px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 980px) {
|
||||||
|
/* Enable use of floated navbar text */
|
||||||
|
.navbar-text.pull-right {
|
||||||
|
float: none;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="#">Project name</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<p class="navbar-text pull-right">
|
||||||
|
Logged in as <a href="#" class="navbar-link">Username</a>
|
||||||
|
</p>
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span3">
|
||||||
|
<div class="well sidebar-nav">
|
||||||
|
<ul class="nav nav-list">
|
||||||
|
<li class="nav-header">Sidebar</li>
|
||||||
|
<li class="active"><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li class="nav-header">Sidebar</li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li class="nav-header">Sidebar</li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.well -->
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span9">
|
||||||
|
<div class="hero-unit">
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
|
||||||
|
<p><a href="#" class="btn btn-primary btn-large">Learn more »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div><!--/.fluid-container-->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
126
src/main/webapp/vendors/bootstrap/docs/examples/hero.html
vendored
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Bootstrap, from Twitter</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
padding-top: 60px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="#">Project name</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="nav-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<form class="navbar-form pull-right">
|
||||||
|
<input class="span2" type="text" placeholder="Email">
|
||||||
|
<input class="span2" type="password" placeholder="Password">
|
||||||
|
<button type="submit" class="btn">Sign in</button>
|
||||||
|
</form>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Main hero unit for a primary marketing message or call to action -->
|
||||||
|
<div class="hero-unit">
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
|
||||||
|
<p><a href="#" class="btn btn-primary btn-large">Learn more »</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Example row of columns -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
174
src/main/webapp/vendors/bootstrap/docs/examples/justified-nav.html
vendored
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Template · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom container */
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 1000px;
|
||||||
|
}
|
||||||
|
.container > hr {
|
||||||
|
margin: 60px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Main marketing message and sign up button */
|
||||||
|
.jumbotron {
|
||||||
|
margin: 80px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.jumbotron h1 {
|
||||||
|
font-size: 100px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.jumbotron .lead {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
.jumbotron .btn {
|
||||||
|
font-size: 21px;
|
||||||
|
padding: 14px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Supporting marketing content */
|
||||||
|
.marketing {
|
||||||
|
margin: 60px 0;
|
||||||
|
}
|
||||||
|
.marketing p + h4 {
|
||||||
|
margin-top: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Customize the navbar links to be fill the entire space of the .navbar */
|
||||||
|
.navbar .navbar-inner {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.navbar .nav {
|
||||||
|
margin: 0;
|
||||||
|
display: table;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.navbar .nav li {
|
||||||
|
display: table-cell;
|
||||||
|
width: 1%;
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
.navbar .nav li a {
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
border-left: 1px solid rgba(255,255,255,.75);
|
||||||
|
border-right: 1px solid rgba(0,0,0,.1);
|
||||||
|
}
|
||||||
|
.navbar .nav li:first-child a {
|
||||||
|
border-left: 0;
|
||||||
|
border-radius: 3px 0 0 3px;
|
||||||
|
}
|
||||||
|
.navbar .nav li:last-child a {
|
||||||
|
border-right: 0;
|
||||||
|
border-radius: 0 3px 3px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="masthead">
|
||||||
|
<h3 class="muted">Project name</h3>
|
||||||
|
<div class="navbar">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#">Projects</a></li>
|
||||||
|
<li><a href="#">Services</a></li>
|
||||||
|
<li><a href="#">Downloads</a></li>
|
||||||
|
<li><a href="#">About</a></li>
|
||||||
|
<li><a href="#">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.navbar -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Jumbotron -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Marketing stuff!</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<a class="btn btn-large btn-success" href="#">Get started today</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<!-- Example row of columns -->
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
|
||||||
|
<p><a class="btn" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
137
src/main/webapp/vendors/bootstrap/docs/examples/marketing-narrow.html
vendored
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Template · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom container */
|
||||||
|
.container-narrow {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 700px;
|
||||||
|
}
|
||||||
|
.container-narrow > hr {
|
||||||
|
margin: 30px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Main marketing message and sign up button */
|
||||||
|
.jumbotron {
|
||||||
|
margin: 60px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.jumbotron h1 {
|
||||||
|
font-size: 72px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.jumbotron .btn {
|
||||||
|
font-size: 21px;
|
||||||
|
padding: 14px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Supporting marketing content */
|
||||||
|
.marketing {
|
||||||
|
margin: 60px 0;
|
||||||
|
}
|
||||||
|
.marketing p + h4 {
|
||||||
|
margin-top: 28px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container-narrow">
|
||||||
|
|
||||||
|
<div class="masthead">
|
||||||
|
<ul class="nav nav-pills pull-right">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#">About</a></li>
|
||||||
|
<li><a href="#">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3 class="muted">Project name</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Super awesome marketing speak!</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<a class="btn btn-large btn-success" href="#">Sign up today</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="row-fluid marketing">
|
||||||
|
<div class="span6">
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="span6">
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
94
src/main/webapp/vendors/bootstrap/docs/examples/signin.html
vendored
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Sign in · Twitter Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
padding-top: 40px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-signin {
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 19px 29px 29px;
|
||||||
|
margin: 0 auto 20px;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #e5e5e5;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
|
||||||
|
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.05);
|
||||||
|
box-shadow: 0 1px 2px rgba(0,0,0,.05);
|
||||||
|
}
|
||||||
|
.form-signin .form-signin-heading,
|
||||||
|
.form-signin .checkbox {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.form-signin input[type="text"],
|
||||||
|
.form-signin input[type="password"] {
|
||||||
|
font-size: 16px;
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
padding: 7px 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<form class="form-signin">
|
||||||
|
<h2 class="form-signin-heading">Please sign in</h2>
|
||||||
|
<input type="text" class="input-block-level" placeholder="Email address">
|
||||||
|
<input type="password" class="input-block-level" placeholder="Password">
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" value="remember-me"> Remember me
|
||||||
|
</label>
|
||||||
|
<button class="btn btn-large btn-primary" type="submit">Sign in</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
79
src/main/webapp/vendors/bootstrap/docs/examples/starter-template.html
vendored
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Bootstrap, from Twitter</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="#">Project name</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<h1>Bootstrap starter template</h1>
|
||||||
|
<p>Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
161
src/main/webapp/vendors/bootstrap/docs/examples/sticky-footer-navbar.html
vendored
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Sticky footer · Twitter Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- CSS -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
/* Sticky footer styles
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
/* The html and body elements cannot have any padding or margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapper for page content to push down footer */
|
||||||
|
#wrap {
|
||||||
|
min-height: 100%;
|
||||||
|
height: auto !important;
|
||||||
|
height: 100%;
|
||||||
|
/* Negative indent footer by it's height */
|
||||||
|
margin: 0 auto -60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the fixed height of the footer here */
|
||||||
|
#push,
|
||||||
|
#footer {
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Lastly, apply responsive CSS fixes as necessary */
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
#footer {
|
||||||
|
margin-left: -20px;
|
||||||
|
margin-right: -20px;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Custom page CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Not required for template or sticky footer method. */
|
||||||
|
|
||||||
|
#wrap > .container {
|
||||||
|
padding-top: 60px;
|
||||||
|
}
|
||||||
|
.container .credit {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Part 1: Wrap all page content here -->
|
||||||
|
<div id="wrap">
|
||||||
|
|
||||||
|
<!-- Fixed navbar -->
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="#">Project name</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="nav-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Begin page content -->
|
||||||
|
<div class="container">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Sticky footer with fixed navbar</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added within <code>#wrap</code> with <code>padding-top: 60px;</code> on the <code>.container</code>.</p>
|
||||||
|
<p>Back to <a href="./sticky-footer.html">the sticky footer</a> minus the navbar.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="push"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
125
src/main/webapp/vendors/bootstrap/docs/examples/sticky-footer.html
vendored
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Sticky footer · Twitter Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- CSS -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
/* Sticky footer styles
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
/* The html and body elements cannot have any padding or margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapper for page content to push down footer */
|
||||||
|
#wrap {
|
||||||
|
min-height: 100%;
|
||||||
|
height: auto !important;
|
||||||
|
height: 100%;
|
||||||
|
/* Negative indent footer by it's height */
|
||||||
|
margin: 0 auto -60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the fixed height of the footer here */
|
||||||
|
#push,
|
||||||
|
#footer {
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Lastly, apply responsive CSS fixes as necessary */
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
#footer {
|
||||||
|
margin-left: -20px;
|
||||||
|
margin-right: -20px;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Custom page CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Not required for template or sticky footer method. */
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: auto;
|
||||||
|
max-width: 680px;
|
||||||
|
}
|
||||||
|
.container .credit {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="../assets/ico/favicon.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Part 1: Wrap all page content here -->
|
||||||
|
<div id="wrap">
|
||||||
|
|
||||||
|
<!-- Begin page content -->
|
||||||
|
<div class="container">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Sticky footer</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
|
||||||
|
<p>Use <a href="./sticky-footer-navbar.html">the sticky footer</a> with a fixed navbar if need be, too.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="push"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../assets/js/jquery.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="../assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
307
src/main/webapp/vendors/bootstrap/docs/extend.html
vendored
Normal file
|
@ -0,0 +1,307 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Extend · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="">
|
||||||
|
<a href="./index.html">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./getting-started.html">Get started</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./scaffolding.html">Scaffolding</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./base-css.html">Base CSS</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./components.html">Components</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./javascript.html">JavaScript</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./customize.html">Customize</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Subhead
|
||||||
|
================================================== -->
|
||||||
|
<header class="jumbotron subhead" id="overview">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Extending Bootstrap</h1>
|
||||||
|
<p class="lead">Extend Bootstrap to take advantage of included styles and components, as well as LESS variables and mixins.</p>
|
||||||
|
<div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Docs nav
|
||||||
|
================================================== -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span3 bs-docs-sidebar">
|
||||||
|
<ul class="nav nav-list bs-docs-sidenav">
|
||||||
|
<li><a href="#built-with-less"><i class="icon-chevron-right"></i> Built with LESS</a></li>
|
||||||
|
<li><a href="#compiling"><i class="icon-chevron-right"></i> Compiling Bootstrap</a></li>
|
||||||
|
<li><a href="#static-assets"><i class="icon-chevron-right"></i> Use as static assets</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="span9">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- BUILT WITH LESS
|
||||||
|
================================================== -->
|
||||||
|
<section id="built-with-less">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Built with LESS</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<img style="float: right; height: 36px; margin: 10px 20px 20px" src="assets/img/less-logo-large.png" alt="LESS CSS">
|
||||||
|
<p class="lead">Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
|
||||||
|
|
||||||
|
<h3>Why LESS?</h3>
|
||||||
|
<p>One of Bootstrap's creators wrote a quick <a href="http://www.wordsbyf.at/2012/03/08/why-less/">blog post about this</a>, summarized here:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Bootstrap compiles faster ~6x faster with Less compared to Sass</li>
|
||||||
|
<li>Less is written in JavaScript, making it easier to us to dive in and patch compared to Ruby with Sass.</li>
|
||||||
|
<li>Less is more; we want to feel like we're writing CSS and making Bootstrap approachable to all.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>What's included?</h3>
|
||||||
|
<p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
|
||||||
|
|
||||||
|
<h3>Learn more</h3>
|
||||||
|
<p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- COMPILING LESS AND BOOTSTRAP
|
||||||
|
================================================== -->
|
||||||
|
<section id="compiling">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Compiling Bootstrap with Less</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="lead">Since our CSS is written with Less and utilizes variables and mixins, it needs to be compiled for final production implementation. Here's how.</p>
|
||||||
|
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<strong>Note:</strong> If you're submitting a pull request to GitHub with modified CSS, you <strong>must</strong> recompile the CSS via any of these methods.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Tools for compiling</h2>
|
||||||
|
|
||||||
|
<h3>Command line</h3>
|
||||||
|
<p>Follow <a href="https://github.com/twbs/bootstrap#developers">the instructions in the project readme</a> on GitHub for compiling via command line.</p>
|
||||||
|
|
||||||
|
<h3>JavaScript</h3>
|
||||||
|
<p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code><head></code>.</p>
|
||||||
|
<pre class="prettyprint">
|
||||||
|
<link rel="stylesheet/less" href="/path/to/bootstrap.less">
|
||||||
|
<script src="/path/to/less.js"></script>
|
||||||
|
</pre>
|
||||||
|
<p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
|
||||||
|
|
||||||
|
<h3>Unofficial Mac app</h3>
|
||||||
|
<p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file. If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
|
||||||
|
|
||||||
|
<h3>More apps</h3>
|
||||||
|
<h4><a href="http://crunchapp.net/" target="_blank">Crunch</a></h4>
|
||||||
|
<p>Crunch is a great looking LESS editor and compiler built on Adobe Air.</p>
|
||||||
|
<h4><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></h4>
|
||||||
|
<p>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</p>
|
||||||
|
<h4><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></h4>
|
||||||
|
<p>Mac, Linux, and Windows app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Static assets
|
||||||
|
================================================== -->
|
||||||
|
<section id="static-assets">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Use as static assets</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead"><a href="./getting-started.html">Quickly start</a> any web project by dropping in the compiled or minified CSS and JS. Layer on custom styles separately for easy upgrades and maintenance moving forward.</p>
|
||||||
|
|
||||||
|
<h3>Setup file structure</h3>
|
||||||
|
<p>Download the latest compiled Bootstrap and place into your project. For example, you might have something like this:</p>
|
||||||
|
<pre>
|
||||||
|
<span class="icon-folder-open"></span> app/
|
||||||
|
<span class="icon-folder-open"></span> layouts/
|
||||||
|
<span class="icon-folder-open"></span> templates/
|
||||||
|
<span class="icon-folder-open"></span> public/
|
||||||
|
<span class="icon-folder-open"></span> css/
|
||||||
|
<span class="icon-file"></span> bootstrap.min.css
|
||||||
|
<span class="icon-folder-open"></span> js/
|
||||||
|
<span class="icon-file"></span> bootstrap.min.js
|
||||||
|
<span class="icon-folder-open"></span> img/
|
||||||
|
<span class="icon-file"></span> glyphicons-halflings.png
|
||||||
|
<span class="icon-file"></span> glyphicons-halflings-white.png
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h3>Utilize starter template</h3>
|
||||||
|
<p>Copy the following base HTML to get started.</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Bootstrap 101 Template</title>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<link href="public/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<script src="public/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h3>Layer on custom code</h3>
|
||||||
|
<p>Work in your custom CSS, JS, and more as necessary to make Bootstrap your own with your own separate CSS and JS files.</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Bootstrap 101 Template</title>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<link href="public/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<!-- Project -->
|
||||||
|
<link href="public/css/application.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<script src="public/js/bootstrap.min.js"></script>
|
||||||
|
<!-- Project -->
|
||||||
|
<script src="public/js/application.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
402
src/main/webapp/vendors/bootstrap/docs/getting-started.html
vendored
Normal file
|
@ -0,0 +1,402 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Getting · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="">
|
||||||
|
<a href="./index.html">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">
|
||||||
|
<a href="./getting-started.html">Get started</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./scaffolding.html">Scaffolding</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./base-css.html">Base CSS</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./components.html">Components</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./javascript.html">JavaScript</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./customize.html">Customize</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Subhead
|
||||||
|
================================================== -->
|
||||||
|
<header class="jumbotron subhead" id="overview">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Getting started</h1>
|
||||||
|
<p class="lead">Overview of the project, its contents, and how to get started with a simple template.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Docs nav
|
||||||
|
================================================== -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span3 bs-docs-sidebar">
|
||||||
|
<ul class="nav nav-list bs-docs-sidenav">
|
||||||
|
<li><a href="#download-bootstrap"><i class="icon-chevron-right"></i> Download</a></li>
|
||||||
|
<li><a href="#file-structure"><i class="icon-chevron-right"></i> File structure</a></li>
|
||||||
|
<li><a href="#contents"><i class="icon-chevron-right"></i> What's included</a></li>
|
||||||
|
<li><a href="#html-template"><i class="icon-chevron-right"></i> HTML template</a></li>
|
||||||
|
<li><a href="#examples"><i class="icon-chevron-right"></i> Examples</a></li>
|
||||||
|
<li><a href="#what-next"><i class="icon-chevron-right"></i> What next?</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="span9">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Download
|
||||||
|
================================================== -->
|
||||||
|
<section id="download-bootstrap">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>1. Download</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Before downloading, be sure to have a code editor (we recommend <a href="http://sublimetext.com/2">Sublime Text 2</a>) and some working knowledge of HTML and CSS. We won't walk through the source files here, but they are available for download. We'll focus on getting started with the compiled Bootstrap files.</p>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6">
|
||||||
|
<h2>Download compiled</h2>
|
||||||
|
<p><strong>Fastest way to get started:</strong> get the compiled and minified versions of our CSS, JS, and images. No docs or original source files.</p>
|
||||||
|
<p><a class="btn btn-large btn-primary" href="assets/bootstrap.zip" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);">Download Bootstrap</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="span6">
|
||||||
|
<h2>Download source</h2>
|
||||||
|
<p>Get the original files for all CSS and JavaScript, along with a local copy of the docs by downloading the latest version directly from GitHub.</p>
|
||||||
|
<p><a class="btn btn-large" href="https://github.com/twbs/bootstrap/zipball/master" >Download Bootstrap source</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- File structure
|
||||||
|
================================================== -->
|
||||||
|
<section id="file-structure">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>2. File structure</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Within the download you'll find the following file structure and contents, logically grouping common assets and providing both compiled and minified variations.</p>
|
||||||
|
<p>Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:</p>
|
||||||
|
<pre class="prettyprint">
|
||||||
|
bootstrap/
|
||||||
|
├── css/
|
||||||
|
│ ├── bootstrap.css
|
||||||
|
│ ├── bootstrap.min.css
|
||||||
|
├── js/
|
||||||
|
│ ├── bootstrap.js
|
||||||
|
│ ├── bootstrap.min.js
|
||||||
|
└── img/
|
||||||
|
├── glyphicons-halflings.png
|
||||||
|
└── glyphicons-halflings-white.png
|
||||||
|
</pre>
|
||||||
|
<p>This is the most basic form of Bootstrap: compiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). The image files are compressed using <a href="http://imageoptim.com/">ImageOptim</a>, a Mac app for compressing PNGs.</p>
|
||||||
|
<p>Please note that all JavaScript plugins require jQuery to be included.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Contents
|
||||||
|
================================================== -->
|
||||||
|
<section id="contents">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>3. What's included</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Bootstrap comes equipped with HTML, CSS, and JS for all sorts of things, but they can be summarized with a handful of categories visible at the top of the <a href="http://getbootstrap.com">Bootstrap documentation</a>.</p>
|
||||||
|
|
||||||
|
<h2>Docs sections</h2>
|
||||||
|
<h4><a href="http://twbs.github.com/bootstrap/scaffolding.html">Scaffolding</a></h4>
|
||||||
|
<p>Global styles for the body to reset type and background, link styles, grid system, and two simple layouts.</p>
|
||||||
|
<h4><a href="http://twbs.github.com/bootstrap/base-css.html">Base CSS</a></h4>
|
||||||
|
<p>Styles for common HTML elements like typography, code, tables, forms, and buttons. Also includes <a href="http://glyphicons.com">Glyphicons</a>, a great little icon set.</p>
|
||||||
|
<h4><a href="http://twbs.github.com/bootstrap/components.html">Components</a></h4>
|
||||||
|
<p>Basic styles for common interface components like tabs and pills, navbar, alerts, page headers, and more.</p>
|
||||||
|
<h4><a href="http://twbs.github.com/bootstrap/javascript.html">JavaScript plugins</a></h4>
|
||||||
|
<p>Similar to Components, these JavaScript plugins are interactive components for things like tooltips, popovers, modals, and more.</p>
|
||||||
|
|
||||||
|
<h2>List of components</h2>
|
||||||
|
<p>Together, the <strong>Components</strong> and <strong>JavaScript plugins</strong> sections provide the following interface elements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Button groups</li>
|
||||||
|
<li>Button dropdowns</li>
|
||||||
|
<li>Navigational tabs, pills, and lists</li>
|
||||||
|
<li>Navbar</li>
|
||||||
|
<li>Labels</li>
|
||||||
|
<li>Badges</li>
|
||||||
|
<li>Page headers and hero unit</li>
|
||||||
|
<li>Thumbnails</li>
|
||||||
|
<li>Alerts</li>
|
||||||
|
<li>Progress bars</li>
|
||||||
|
<li>Modals</li>
|
||||||
|
<li>Dropdowns</li>
|
||||||
|
<li>Tooltips</li>
|
||||||
|
<li>Popovers</li>
|
||||||
|
<li>Accordion</li>
|
||||||
|
<li>Carousel</li>
|
||||||
|
<li>Typeahead</li>
|
||||||
|
</ul>
|
||||||
|
<p>In future guides, we may walk through these components individually in more detail. Until then, look for each of these in the documentation for information on how to utilize and customize them.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- HTML template
|
||||||
|
================================================== -->
|
||||||
|
<section id="html-template">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>4. Basic HTML template</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">With a brief intro into the contents out of the way, we can focus on putting Bootstrap to use. To do that, we'll utilize a basic HTML template that includes everything we mentioned in the <a href="./getting-started.html#file-structure">File structure</a>.</p>
|
||||||
|
<p>Now, here's a look at a <strong>typical HTML file</strong>:</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Bootstrap 101 Template</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<script src="http://code.jquery.com/jquery.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</pre>
|
||||||
|
<p>To make this <strong>a Bootstrapped template</strong>, just include the appropriate CSS and JS files:</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Bootstrap 101 Template</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<script src="http://code.jquery.com/jquery.js"></script>
|
||||||
|
<script src="js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</pre>
|
||||||
|
<p><strong>And you're set!</strong> With those two files added, you can begin to develop any site or application with Bootstrap.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Examples
|
||||||
|
================================================== -->
|
||||||
|
<section id="examples">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>5. Examples</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Move beyond the base template with a few example layouts. We encourage folks to iterate on these examples and not simply use them as an end result.</p>
|
||||||
|
<ul class="thumbnails bootstrap-examples">
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/starter-template.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-starter.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Starter template</h4>
|
||||||
|
<p>A barebones HTML document with all the Bootstrap CSS and JavaScript included.</p>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/hero.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-marketing.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Basic marketing site</h4>
|
||||||
|
<p>Featuring a hero unit for a primary message and three supporting elements.</p>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/fluid.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-fluid.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Fluid layout</h4>
|
||||||
|
<p>Uses our new responsive, fluid grid system to create a seamless liquid layout.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/marketing-narrow.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-marketing-narrow.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Narrow marketing</h4>
|
||||||
|
<p>Slim, lightweight marketing template for small projects or teams.</p>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/justified-nav.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-justified-nav.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Justified nav</h4>
|
||||||
|
<p>Marketing page with equal-width navigation links in a modified navbar.</p>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/signin.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-signin.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Sign in</h4>
|
||||||
|
<p>Barebones sign in form with custom, larger form controls and a flexible layout.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/sticky-footer.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-sticky-footer.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Sticky footer</h4>
|
||||||
|
<p>Pin a fixed-height footer to the bottom of the user's viewport.</p>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="examples/carousel.html">
|
||||||
|
<img src="assets/img/examples/bootstrap-example-carousel.png" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Carousel jumbotron</h4>
|
||||||
|
<p>A more interactive riff on the basic marketing site featuring a prominent carousel.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Next
|
||||||
|
================================================== -->
|
||||||
|
<section id="what-next">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>What next?</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Head to the docs for information, examples, and code snippets, or take the next leap and customize Bootstrap for any upcoming project.</p>
|
||||||
|
<a class="btn btn-large btn-primary" href="./scaffolding.html" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Visit docs']);">Visit the Bootstrap docs</a>
|
||||||
|
<a class="btn btn-large" href="./customize.html" style="margin-left: 5px;" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Customize']);">Customize Bootstrap</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
246
src/main/webapp/vendors/bootstrap/docs/index.html
vendored
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="active">
|
||||||
|
<a href="./index.html">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./getting-started.html">Get started</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./scaffolding.html">Scaffolding</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./base-css.html">Base CSS</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./components.html">Components</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./javascript.html">JavaScript</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./customize.html">Customize</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="jumbotron masthead">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Bootstrap</h1>
|
||||||
|
<p>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</p>
|
||||||
|
<p>
|
||||||
|
<a href="assets/bootstrap.zip" class="btn btn-primary btn-large" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 2.3.2']);">Download Bootstrap</a>
|
||||||
|
</p>
|
||||||
|
<ul class="masthead-links">
|
||||||
|
<li>
|
||||||
|
<a href="http://github.com/twitter/bootstrap" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="./getting-started.html#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="./extend.html" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Extend']);">Extend</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Version 2.3.2
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="bs-docs-social">
|
||||||
|
<div class="container">
|
||||||
|
<ul class="bs-docs-social-buttons">
|
||||||
|
<li>
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="102px" height="20px"></iframe>
|
||||||
|
</li>
|
||||||
|
<li class="follow-btn">
|
||||||
|
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
|
||||||
|
</li>
|
||||||
|
<li class="tweet-btn">
|
||||||
|
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twbs.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="marketing">
|
||||||
|
|
||||||
|
<h1>Introducing Bootstrap.</h1>
|
||||||
|
<p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">
|
||||||
|
<img class="marketing-img" src="assets/img/bs-docs-twitter-github.png">
|
||||||
|
<h2>By nerds, for nerds.</h2>
|
||||||
|
<p>Built at Twitter by <a href="http://twitter.com/mdo">@mdo</a> and <a href="http://twitter.com/fat">@fat</a>, Bootstrap utilizes <a href="http://lesscss.org">LESS CSS</a>, is compiled via <a href="http://nodejs.org">Node</a>, and is managed through <a href="http://github.com">GitHub</a> to help nerds do awesome stuff on the web.</p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<img class="marketing-img" src="assets/img/bs-docs-responsive-illustrations.png">
|
||||||
|
<h2>Made for everyone.</h2>
|
||||||
|
<p>Bootstrap was made to not only look and behave great in the latest desktop browsers (as well as IE7!), but in tablet and smartphone browsers via <a href="./scaffolding.html#responsive">responsive CSS</a> as well.</p>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<img class="marketing-img" src="assets/img/bs-docs-bootstrap-features.png">
|
||||||
|
<h2>Packed with features.</h2>
|
||||||
|
<p>A 12-column responsive <a href="./scaffolding.html#gridSystem">grid</a>, dozens of components, <a href="./javascript.html">JavaScript plugins</a>, typography, form controls, and even a <a href="./customize.html">web-based Customizer</a> to make Bootstrap your own.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="soften">
|
||||||
|
|
||||||
|
<h1>Built with Bootstrap.</h1>
|
||||||
|
<p class="marketing-byline">For even more sites built with Bootstrap, <a href="http://builtwithbootstrap.tumblr.com/" target="_blank">visit the unofficial Tumblr</a> or <a href="./getting-started.html#examples">browse the examples</a>.</p>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<ul class="thumbnails example-sites">
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="http://soundready.fm/" target="_blank">
|
||||||
|
<img src="assets/img/example-sites/soundready.png" alt="SoundReady.fm">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="http://kippt.com/" target="_blank">
|
||||||
|
<img src="assets/img/example-sites/kippt.png" alt="Kippt">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="http://www.gathercontent.com/" target="_blank">
|
||||||
|
<img src="assets/img/example-sites/gathercontent.png" alt="Gather Content">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="span3">
|
||||||
|
<a class="thumbnail" href="http://www.jshint.com/" target="_blank">
|
||||||
|
<img src="assets/img/example-sites/jshint.png" alt="JS Hint">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
1805
src/main/webapp/vendors/bootstrap/docs/javascript.html
vendored
Normal file
627
src/main/webapp/vendors/bootstrap/docs/scaffolding.html
vendored
Normal file
|
@ -0,0 +1,627 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Scaffolding · Bootstrap</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="">
|
||||||
|
<a href="./index.html">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./getting-started.html">Get started</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">
|
||||||
|
<a href="./scaffolding.html">Scaffolding</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./base-css.html">Base CSS</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./components.html">Components</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./javascript.html">JavaScript</a>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="./customize.html">Customize</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Subhead
|
||||||
|
================================================== -->
|
||||||
|
<header class="jumbotron subhead" id="overview">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Scaffolding</h1>
|
||||||
|
<p class="lead">Bootstrap is built on responsive 12-column grids, layouts, and components.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Docs nav
|
||||||
|
================================================== -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="span3 bs-docs-sidebar">
|
||||||
|
<ul class="nav nav-list bs-docs-sidenav">
|
||||||
|
<li><a href="#global"><i class="icon-chevron-right"></i> Global styles</a></li>
|
||||||
|
<li><a href="#gridSystem"><i class="icon-chevron-right"></i> Grid system</a></li>
|
||||||
|
<li><a href="#fluidGridSystem"><i class="icon-chevron-right"></i> Fluid grid system</a></li>
|
||||||
|
<li><a href="#layouts"><i class="icon-chevron-right"></i> Layouts</a></li>
|
||||||
|
<li><a href="#responsive"><i class="icon-chevron-right"></i> Responsive design</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="span9">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Global Bootstrap settings
|
||||||
|
================================================== -->
|
||||||
|
<section id="global">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Global settings</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Requires HTML5 doctype</h3>
|
||||||
|
<p>Bootstrap makes use of certain HTML elements and CSS properties that require the use of the HTML5 doctype. Include it at the beginning of all your projects.</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
...
|
||||||
|
</html>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h3>Typography and links</h3>
|
||||||
|
<p>Bootstrap sets basic global display, typography, and link styles. Specifically, we:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Remove <code>margin</code> on the body</li>
|
||||||
|
<li>Set <code>background-color: white;</code> on the <code>body</code></li>
|
||||||
|
<li>Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographic base</li>
|
||||||
|
<li>Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code></li>
|
||||||
|
</ul>
|
||||||
|
<p>These styles can be found within <strong>scaffolding.less</strong>.</p>
|
||||||
|
|
||||||
|
<h3>Reset via Normalize</h3>
|
||||||
|
<p>With Bootstrap 2, the old reset block has been dropped in favor of <a href="http://necolas.github.com/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> and <a href="http://twitter.com/jon_neal" target="_blank">Jonathan Neal</a> that also powers the <a href="http://html5boilerplate.com" target="_blank">HTML5 Boilerplate</a>. While we use much of Normalize within our <strong>reset.less</strong>, we have removed some elements specifically for Bootstrap.</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Grid system
|
||||||
|
================================================== -->
|
||||||
|
<section id="gridSystem">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Default grid system</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Live grid example</h2>
|
||||||
|
<p>The default Bootstrap grid system utilizes <strong>12 columns</strong>, making for a 940px wide container without <a href="./scaffolding.html#responsive">responsive features</a> enabled. With the responsive CSS file added, the grid adapts to be 724px and 1170px wide depending on your viewport. Below 767px viewports, the columns become fluid and stack vertically.</p>
|
||||||
|
<div class="bs-docs-grid">
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
</div>
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span2">2</div>
|
||||||
|
<div class="span3">3</div>
|
||||||
|
<div class="span4">4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span5">5</div>
|
||||||
|
</div>
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span9">9</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Basic grid HTML</h3>
|
||||||
|
<p>For a simple two column layout, create a <code>.row</code> and add the appropriate number of <code>.span*</code> columns. As this is a 12-column grid, each <code>.span*</code> spans a number of those 12 columns, and should always add up to 12 for each row (or the number of columns in the parent).</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row">
|
||||||
|
<div class="span4">...</div>
|
||||||
|
<div class="span8">...</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
<p>Given this example, we have <code>.span4</code> and <code>.span8</code>, making for 12 total columns and a complete row.</p>
|
||||||
|
|
||||||
|
<h2>Offsetting columns</h2>
|
||||||
|
<p>Move columns to the right using <code>.offset*</code> classes. Each class increases the left margin of a column by a whole column. For example, <code>.offset4</code> moves <code>.span4</code> over four columns.</p>
|
||||||
|
<div class="bs-docs-grid">
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span3 offset2">3 offset 2</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span3 offset1">3 offset 1</div>
|
||||||
|
<div class="span3 offset2">3 offset 2</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span6 offset3">6 offset 3</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row">
|
||||||
|
<div class="span4">...</div>
|
||||||
|
<div class="span3 offset2">...</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>Nesting columns</h2>
|
||||||
|
<p>To nest your content with the default grid, add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column. Nested rows should include a set of columns that add up to the number of columns of its parent.</p>
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span9">
|
||||||
|
Level 1 column
|
||||||
|
<div class="row show-grid">
|
||||||
|
<div class="span6">
|
||||||
|
Level 2
|
||||||
|
</div>
|
||||||
|
<div class="span3">
|
||||||
|
Level 2
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row">
|
||||||
|
<div class="span9">
|
||||||
|
Level 1 column
|
||||||
|
<div class="row">
|
||||||
|
<div class="span6">Level 2</div>
|
||||||
|
<div class="span3">Level 2</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Fluid grid system
|
||||||
|
================================================== -->
|
||||||
|
<section id="fluidGridSystem">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Fluid grid system</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Live fluid grid example</h2>
|
||||||
|
<p>The fluid grid system uses percents instead of pixels for column widths. It has the same responsive capabilities as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.</p>
|
||||||
|
<div class="bs-docs-grid">
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
<div class="span1">1</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span4">4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span8">8</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span6">6</div>
|
||||||
|
<div class="span6">6</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span12">12</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Basic fluid grid HTML</h3>
|
||||||
|
<p>Make any row "fluid" by changing <code>.row</code> to <code>.row-fluid</code>. The column classes stay the exact same, making it easy to flip between fixed and fluid grids.</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">...</div>
|
||||||
|
<div class="span8">...</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>Fluid offsetting</h2>
|
||||||
|
<p>Operates the same way as the fixed grid system offsetting: add <code>.offset*</code> to any column to offset by that many columns.</p>
|
||||||
|
<div class="bs-docs-grid">
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span4">4</div>
|
||||||
|
<div class="span4 offset4">4 offset 4</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span3 offset3">3 offset 3</div>
|
||||||
|
<div class="span3 offset3">3 offset 3</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span6 offset6">6 offset 6</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span4">...</div>
|
||||||
|
<div class="span4 offset2">...</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>Fluid nesting</h2>
|
||||||
|
<p>Fluid grids utilize nesting differently: each nested level of columns should add up to 12 columns. This is because the fluid grid uses percentages, not pixels, for setting widths.</p>
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span12">
|
||||||
|
Fluid 12
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span6">
|
||||||
|
Fluid 6
|
||||||
|
<div class="row-fluid show-grid">
|
||||||
|
<div class="span6">
|
||||||
|
Fluid 6
|
||||||
|
</div>
|
||||||
|
<div class="span6">
|
||||||
|
Fluid 6
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="span6">
|
||||||
|
Fluid 6
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
Fluid 12
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6">
|
||||||
|
Fluid 6
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6">Fluid 6</div>
|
||||||
|
<div class="span6">Fluid 6</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="span6">Fluid 6</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Layouts (Default and fluid)
|
||||||
|
================================================== -->
|
||||||
|
<section id="layouts">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Layouts</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Fixed layout</h2>
|
||||||
|
<p>Provides a common fixed-width (and optionally responsive) layout with only <code><div class="container"></code> required.</p>
|
||||||
|
<div class="mini-layout">
|
||||||
|
<div class="mini-layout-body"></div>
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
...
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>Fluid layout</h2>
|
||||||
|
<p>Create a fluid, two-column page with <code><div class="container-fluid"></code>—great for applications and docs.</p>
|
||||||
|
<div class="mini-layout fluid">
|
||||||
|
<div class="mini-layout-sidebar"></div>
|
||||||
|
<div class="mini-layout-body"></div>
|
||||||
|
</div>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span2">
|
||||||
|
<!--Sidebar content-->
|
||||||
|
</div>
|
||||||
|
<div class="span10">
|
||||||
|
<!--Body content-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</pre>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Responsive design
|
||||||
|
================================================== -->
|
||||||
|
<section id="responsive">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Responsive design</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Enabling responsive features</h2>
|
||||||
|
<p>Turn on responsive CSS in your project by including the proper meta tag and additional stylesheet within the <code><head></code> of your document. If you've compiled Bootstrap from the Customize page, you need only include the meta tag.</p>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
</pre>
|
||||||
|
<p><span class="label label-info">Heads up!</span> Bootstrap doesn't include responsive features by default at this time as not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it as needed.</p>
|
||||||
|
|
||||||
|
<h2>About responsive Bootstrap</h2>
|
||||||
|
<img src="assets/img/responsive-illustrations.png" alt="Responsive devices" style="float: right; margin: 0 0 20px 20px;">
|
||||||
|
<p>Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Modify the width of column in our grid</li>
|
||||||
|
<li>Stack elements instead of float wherever necessary</li>
|
||||||
|
<li>Resize headings and text to be more appropriate for devices</li>
|
||||||
|
</ul>
|
||||||
|
<p>Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.</p>
|
||||||
|
|
||||||
|
<h2>Supported devices</h2>
|
||||||
|
<p>Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
|
||||||
|
<table class="table table-bordered table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Label</th>
|
||||||
|
<th>Layout width</th>
|
||||||
|
<th>Column width</th>
|
||||||
|
<th>Gutter width</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Large display</td>
|
||||||
|
<td>1200px and up</td>
|
||||||
|
<td>70px</td>
|
||||||
|
<td>30px</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Default</td>
|
||||||
|
<td>980px and up</td>
|
||||||
|
<td>60px</td>
|
||||||
|
<td>20px</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Portrait tablets</td>
|
||||||
|
<td>768px and above</td>
|
||||||
|
<td>42px</td>
|
||||||
|
<td>20px</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Phones to tablets</td>
|
||||||
|
<td>767px and below</td>
|
||||||
|
<td class="muted" colspan="2">Fluid columns, no fixed widths</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Phones</td>
|
||||||
|
<td>480px and below</td>
|
||||||
|
<td class="muted" colspan="2">Fluid columns, no fixed widths</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<pre class="prettyprint linenums">
|
||||||
|
/* Large desktop */
|
||||||
|
@media (min-width: 1200px) { ... }
|
||||||
|
|
||||||
|
/* Portrait tablet to landscape and desktop */
|
||||||
|
@media (min-width: 768px) and (max-width: 979px) { ... }
|
||||||
|
|
||||||
|
/* Landscape phone to portrait tablet */
|
||||||
|
@media (max-width: 767px) { ... }
|
||||||
|
|
||||||
|
/* Landscape phones and down */
|
||||||
|
@media (max-width: 480px) { ... }
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Responsive utility classes</h2>
|
||||||
|
<p>For faster mobile-friendly development, use these utility classes for showing and hiding content by device. Below is a table of the available classes and their effect on a given media query layout (labeled by device). They can be found in <code>responsive.less</code>.</p>
|
||||||
|
<table class="table table-bordered table-striped responsive-utilities">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Class</th>
|
||||||
|
<th>Phones <small>767px and below</small></th>
|
||||||
|
<th>Tablets <small>979px to 768px</small></th>
|
||||||
|
<th>Desktops <small>Default</small></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th><code>.visible-phone</code></th>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>.visible-tablet</code></th>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>.visible-desktop</code></th>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>.hidden-phone</code></th>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>.hidden-tablet</code></th>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>.hidden-desktop</code></th>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-visible">Visible</td>
|
||||||
|
<td class="is-hidden">Hidden</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3>When to use</h3>
|
||||||
|
<p>Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities should not be used with tables, and as such are not supported.</p>
|
||||||
|
|
||||||
|
<h3>Responsive utilities test case</h3>
|
||||||
|
<p>Resize your browser or load on different devices to test the above classes.</p>
|
||||||
|
<h4>Visible on...</h4>
|
||||||
|
<p>Green checkmarks indicate that class is visible in your current viewport.</p>
|
||||||
|
<ul class="responsive-utilities-test">
|
||||||
|
<li>Phone<span class="visible-phone">✔ Phone</span></li>
|
||||||
|
<li>Tablet<span class="visible-tablet">✔ Tablet</span></li>
|
||||||
|
<li>Desktop<span class="visible-desktop">✔ Desktop</span></li>
|
||||||
|
</ul>
|
||||||
|
<h4>Hidden on...</h4>
|
||||||
|
<p>Here, green checkmarks indicate that class is hidden in your current viewport.</p>
|
||||||
|
<ul class="responsive-utilities-test hidden-on">
|
||||||
|
<li>Phone<span class="hidden-phone">✔ Phone</span></li>
|
||||||
|
<li>Tablet<span class="hidden-tablet">✔ Tablet</span></li>
|
||||||
|
<li>Desktop<span class="hidden-desktop">✔ Desktop</span></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<p><a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">Blog</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">Issues</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
151
src/main/webapp/vendors/bootstrap/docs/templates/layout.mustache
vendored
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>{{title}}</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/docs.css" rel="stylesheet">
|
||||||
|
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="assets/js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le fav and touch icons -->
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
|
||||||
|
<link rel="shortcut icon" href="assets/ico/favicon.png">
|
||||||
|
|
||||||
|
{{#production}}
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _gaq = _gaq || [];
|
||||||
|
_gaq.push(['_setAccount', 'UA-146052-10']);
|
||||||
|
_gaq.push(['_trackPageview']);
|
||||||
|
(function() {
|
||||||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
{{/production}}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target=".bs-docs-sidebar">
|
||||||
|
|
||||||
|
<!-- Navbar
|
||||||
|
================================================== -->
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="./index.html">Bootstrap</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="{{index}}">
|
||||||
|
<a href="./index.html">{{_i}}Home{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{getting-started}}">
|
||||||
|
<a href="./getting-started.html">{{_i}}Get started{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{scaffolding}}">
|
||||||
|
<a href="./scaffolding.html">{{_i}}Scaffolding{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{base-css}}">
|
||||||
|
<a href="./base-css.html">{{_i}}Base CSS{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{components}}">
|
||||||
|
<a href="./components.html">{{_i}}Components{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{javascript}}">
|
||||||
|
<a href="./javascript.html">{{_i}}JavaScript{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
<li class="{{customize}}">
|
||||||
|
<a href="./customize.html">{{_i}}Customize{{/i}}</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{>body}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer
|
||||||
|
================================================== -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>{{_i}}Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.{{/i}}</p>
|
||||||
|
<p>{{_i}}Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.{{/i}}</p>
|
||||||
|
<p>{{_i}}<a href="http://glyphicons.com">Glyphicons Free</a> licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.{{/i}}</p>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://blog.getbootstrap.com">{{_i}}Blog{{/i}}</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
|
||||||
|
<li class="muted">·</li>
|
||||||
|
<li><a href="https://github.com/twbs/bootstrap/releases">{{_i}}Changelog{{/i}}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Le javascript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||||
|
<script src="assets/js/jquery.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-button.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="assets/js/bootstrap-affix.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/holder/holder.js"></script>
|
||||||
|
<script src="assets/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
|
<script src="assets/js/application.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
{{#production}}
|
||||||
|
<!-- Analytics
|
||||||
|
================================================== -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.type = 'text/javascript';
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
|
||||||
|
t.src = '//secure.gaug.es/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
{{/production}}
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|