326 Commits
Author SHA1 Message Date
Mark Otto 1c0e4fc7bb Popovers are now flexible width:
* Instead of a fixed width, we use max-width
* Width has been increased from 240px to 280px
* Added ability to hide the title via CSS :empty selector if no title is provided
2012-12-28 14:18:59 -06:00
Mark Otto f69d12af3d Merge pull request #6407 from aurnik/master
Fix link to File structure anchor
2012-12-28 11:10:46 -08:00
Mark Otto 6f8e315b1d Merge branch 'sparanoid-transition-duration' into 2.3.0-wip
Conflicts:
	docs/assets/img/bootstrap-docs-readme.png
2012-12-28 13:08:49 -06:00
Tunghsiao Liu 3096a377a2 Add transition-duration mixin 2012-12-28 16:19:12 +08:00
Aurnik Islam aa997e274e Fix link to File structure anchor 2012-12-27 01:49:09 -08:00
Mark Otto 330b143b40 Add longer tooltip example to docs, tighten up line-height on tooltip; run make 2012-12-26 09:36:07 -06:00
Mark Otto 9749d6afc2 Merge branch '2.3.0-wip' of github.com:twitter/bootstrap into 2.3.0-wip 2012-12-26 09:21:34 -06:00
fat-kun b9c7f29134 Merge pull request #6378 from Yohn/patch-7
fixes tooltip insert problems
2012-12-24 16:17:25 -08:00
Yohn 340d90138c Update docs/templates/pages/javascript.mustache 2012-12-24 19:03:13 -05:00
Yohn 2a5fde272c Update docs/javascript.html 2012-12-24 19:01:56 -05:00
Yohn 9835549faf made container option be false 2012-12-24 18:59:37 -05:00
Yohn e867ae7b60 removed the length check
updated it to @fat's suggestion
2012-12-24 18:07:41 -05:00
fat-kun 90cdef8dfe Merge pull request #6380 from Yohn/patch-10
promote using data-toggle instead of rel for tooltip and popover
2012-12-23 19:22:51 -08:00
fat-kun 0a7c840173 Merge pull request #6375 from tkawachi/tooltip-events-2.3.0
Tooltips fires show, shown, hide, hidden events
2012-12-23 19:19:58 -08:00
Yohn dfbac13ad1 data-toggle instead of rel for tooltip and popover 2012-12-23 07:04:24 -05:00
Yohn 5da8b315c0 data-toggle instead of rel for tooltip and popover 2012-12-23 07:00:03 -05:00
Yohn da0217405f data-toggle instead of rel for tooltip and popover 2012-12-23 06:51:46 -05:00
Yohn f152dead92 Update docs/javascript.html 2012-12-23 04:25:27 -05:00
Yohn 68ff08cc91 Update docs/templates/pages/javascript.mustache 2012-12-23 04:23:18 -05:00
Yohn b6960d8cf9 Update js/tests/unit/bootstrap-tooltip.js 2012-12-23 04:21:02 -05:00
Yohn d594d6377a adding container option to tooltips 2012-12-23 04:18:16 -05:00
KAWACHI Takashi defe85bb51 Assign event variables at declarations 2012-12-23 15:17:41 +09:00
KAWACHI Takashi 7a3a88acc6 Tooltips fires show, shown, hide, hidden events
It is re-worked from #3691.
2012-12-23 14:42:13 +09:00
fat-kun 48211ad9f5 Merge pull request #6374 from whyisjake/2.3.0-wip
Update docs/templates/pages/javascript.mustache
2012-12-22 21:18:36 -08:00
Jake Spurlock 0834bd51ec Update docs/templates/pages/javascript.mustache
Adding spaces around the pipes. Makes it consistent with the rest of the docs.
2012-12-22 21:03:58 -08:00
Mark Otto f74990d898 Version bump 2012-12-22 16:10:06 -08:00
fat-kun d09b46fe37 Merge pull request #6349 from Yohn/patch-6
Fixes #5753 with tooltip('toogle')
2012-12-22 14:53:24 -08:00
fat effba9e55c add data-api namespace to dropdown 2012-12-22 14:22:45 -08:00
fat 2c0ed072b0 shifting focus to parent and adding aria menuitem for dropdown 2012-12-22 13:57:57 -08:00
fat 4d195222d4 remake js 2012-12-22 13:48:28 -08:00
fat a9e661a2b5 read data options in constructor for collapse 2012-12-22 13:48:16 -08:00
fat fad0fb683b allow multiple trigger types in tooltip and popover + default tooltip to hover & focus 2012-12-22 13:24:37 -08:00
fat e2434fefbd chnage for #6248 2012-12-21 20:27:53 -08:00
fat f59bf47081 Merge branch '2.3.0-wip' of github.com:twitter/bootstrap into 2.3.0-wip 2012-12-21 20:20:04 -08:00
fat ddd59f22c7 update mustace to reflect changes to data-slide-to 2012-12-21 20:19:33 -08:00
fat 24a36df9f6 add support for [data-slide-to] attr on carousel 2012-12-21 19:45:19 -08:00
Mark Otto 7f7039321d Fixes #6189: Add holder.js to carousel example 2012-12-21 19:10:05 -08:00
Mark Otto a55605ca57 add readme image 2012-12-21 19:04:59 -08:00
Mark Otto 442012f0f5 Smaller image update to readme 2012-12-21 19:02:33 -08:00
Mark Otto 5a2966a2c2 Downsize image 2012-12-21 18:59:51 -08:00
Mark Otto d23006a6bd Merge branch '2.3.0-wip' of github.com:twitter/bootstrap into 2.3.0-wip 2012-12-21 18:59:14 -08:00
Mark Otto ccafc8a010 Explore adding icon to readme 2012-12-21 18:58:59 -08:00
Mark Otto 558bc52432 Add docs readme icon 2012-12-21 18:54:36 -08:00
fat 818c56f078 rewrite makefile to make a bit more "efficient" + rebuild 2012-12-21 17:42:24 -08:00
fat 82a758344d add direction prop to carousel slide event 2012-12-21 17:31:54 -08:00
fat e194c3e4f4 rebuild 2012-12-21 17:25:31 -08:00
fat 5da30ee5fb Merge branch 'marcelkorpel-master' into 2.3.0-wip 2012-12-21 17:24:45 -08:00
fat d5345f806c Merge branch 'master' of git://github.com/marcelkorpel/bootstrap into marcelkorpel-master 2012-12-21 17:19:36 -08:00
Mark Otto dc32555f5b Fixes #6370: Add comment to docs on typeahead and autocomplete 2012-12-21 15:46:10 -08:00
Mark Otto 704dfb2f1d Merge pull request #6360 from Quy/2.3.0-wip
Miscellaneous changes to docs
2012-12-21 00:28:07 -08:00
Quy Ton a27bf30f0d Miscellaneous changes to docs 2012-12-20 21:38:53 -08:00
Mark Otto c1e82732cf Update new example name and links 2012-12-20 20:27:07 -08:00
Mark Otto a24e47b5b8 Update the examples index:
* Retina ready screenshots
* Added screenshot and link to justified nav example (previously unlinked marketing-alternate.html)
2012-12-20 15:08:05 -08:00
Mark Otto 43d130762b Fixes #6352: marketing-alternate broken nav in FF17 2012-12-20 14:40:39 -08:00
Mark Otto 5e4f663e69 Undo important on hide/show utilties; punt to 3.0 2012-12-20 13:46:07 -08:00
Mark Otto b6575cc72e fix up code snippet 2012-12-20 13:41:08 -08:00
Yohn a6705246d0 Update js/tests/unit/bootstrap-tooltip.js 2012-12-20 04:36:57 -05:00
Yohn e21b6459ad fixes tooltip('toggle') 2012-12-20 04:34:28 -05:00
Mark Otto 30d8eb3ed5 Merge branch 'blakeembrey-dropdown-selectors' into 2.3.0-wip 2012-12-20 01:34:19 -08:00
Mark Otto 0a1434b23b Merge branch 'dropdown-selectors' of https://github.com/blakeembrey/bootstrap into blakeembrey-dropdown-selectors 2012-12-20 01:34:10 -08:00
Mark Otto 3f493f0d0d Merge branch '2.3.0-wip' of github.com:twitter/bootstrap into 2.3.0-wip 2012-12-20 01:30:43 -08:00
Mark Otto f706acb11c Fixes #6339: Use important flag on .hide and .show utility classes 2012-12-20 01:30:32 -08:00
fat 5abe33f5d8 reset carousel in the case that it is reinstantiated twice 2012-12-20 01:13:03 -08:00
fat 6b67a83631 Merge branch '2.2.3' into 2.3.0-wip 2012-12-20 01:05:55 -08:00
fat 2c9f43f685 if carousel element already open, don't reopen it duh bruh bruh 2012-12-20 01:05:07 -08:00
Mark Otto c00f29e4d4 Fixes #6236: Fix popover font-size in input groups 2012-12-20 00:54:58 -08:00
Mark Otto 9726fded1c Get on that carousel indicator lifestyle with some new hawtness 2012-12-19 23:52:38 -08:00
Mark Otto 5d776bcfd2 Merge branch '2.2.3' of github.com:twitter/bootstrap into 2.2.3 2012-12-19 23:39:40 -08:00
fat bbe4625672 lol we dont' have affix(refresh) 2012-12-19 23:39:26 -08:00
fat 7f9ff0ba5b add js support for carousel indicators 2012-12-19 23:25:25 -08:00
fat e9eff0cbff wait 100ms before engaging affix (allows for initial browser scroll) 2012-12-19 22:37:41 -08:00
fat 96e5fa6143 whitespace in tooltip + don't pass empty selector to $() in dropdown.js 2012-12-19 22:26:36 -08:00
fat 7c456c8554 fix tooltip doc dumbness 2012-12-19 22:05:33 -08:00
fat 219d275ae6 can't extend bounding box thingy 2012-12-19 22:03:57 -08:00
fat dc4e80a655 fix ghetto ass timeout shit 2012-12-19 21:55:23 -08:00
fat 5bd8cdca91 remove inside support from tooltip + fix tooltip svg support + change makefile to rely on local npm install 2012-12-19 21:36:50 -08:00
Mark Otto dc6142751f Fixes #6337: scope '.media .pull-left' and '.media .pull-right' to immediate children only 2012-12-19 18:47:34 -08:00
Mark Otto 529ecc5a77 Version bump 2012-12-10 18:31:04 -08:00
Mark Otto cddca18f12 Fixes #6174: Caret alignment in small and mini buttons 2012-12-10 10:59:57 -08:00
Mark Otto 9d985978a3 Escape HTML of section element 2012-12-10 10:55:42 -08:00
Mark Otto 847b632577 IE10 fix in responsive utilities, not regular utilities 2012-12-10 10:29:16 -08:00
Mark Otto e324a1beb0 Simplify syntax of nesting with inline lists 2012-12-10 10:28:18 -08:00
Mark Otto 83a6a55d2c Move IE10 responsive fix to responsive utilities so Customizer gets it 2012-12-10 10:25:18 -08:00
Mark Otto 165729254b squash new line 2012-12-10 10:13:04 -08:00
Mark Otto ab5d7f863c move reset after vars and mixins 2012-12-10 09:57:23 -08:00
Mark Otto 9f29785783 Merge pull request #6195 from nathanb/example-carousel-nav-fix
lowered carousel beneath the nav (in carousel example)
2012-12-10 00:21:35 -08:00
Blake Embrey c105906780 Update .dropdown-menu selectors to avoid conflicts with other elements. Fixes #6197 2012-12-10 16:42:58 +10:00
Nathan Bridgewater 18adc44171 lowered carousel beneath the nav 2012-12-09 22:10:38 -06:00
Mark Otto 070c125cec Restore print styles 2012-12-08 21:05:05 -08:00
Mark Otto 68d1d7fc83 Test removal of print styles for customized builds 2012-12-08 21:02:37 -08:00
Mark Otto b5ceca14db Fix docs typos 2012-12-08 18:46:34 -08:00
Mark Otto 9376a7c221 Fixes #5729: Nested striped tables
* Scopes striping to immediate children of the tbody and tr
* For nested tables, sets a background color of @bodyBackground, to override the default transparent bg
2012-12-08 12:57:21 -08:00
Mark Otto cacc213762 Nesting tables
* Add simple test to css-tests.html
* Scope .table-bordered to immediate children th/td elements only
2012-12-08 12:52:19 -08:00
Mark Otto b9292ff90c Merge pull request #6165 from Quy/2.2.2-wip
Apply code tag to data attribute on javascript page
2012-12-08 12:17:46 -08:00
Quy Ton 3bd9a26c01 Apply code tag to data attribute on javascript page 2012-12-08 12:06:46 -08:00
fat 820a3b27b6 get tests passing for typeahead :P 2012-12-07 19:16:48 -05:00
fat 1747caf19d insert menu of typeahead after input which it suggests on #3529
note: this will likely break things for people in the same way that doing
this to tooltip did… however we think this is a better insertion model for
z-index,scrolling,modal,etc. applications
2012-12-07 18:59:13 -05:00
fat 437654030a focus on escape in typeahead 2012-12-07 18:37:32 -05:00
fat 10e72e158d Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-12-07 17:50:34 -05:00
fat 91fbadad5b remove slide from carousel constructor #5579 2012-12-07 17:49:05 -05:00
billy gates c362e72660 Merge pull request #5862 from pmclanahan/issue-5806-typeahead-keyboard-nav
Fix issue with double move event firing in typeahead.
2012-12-07 14:16:51 -08:00
fat 66b70016d0 rebuild and only select visible dropdown items 2012-12-07 17:14:49 -05:00
billy gates 2526c3fdbe Merge pull request #6118 from godric7/master
scrollSpy - add parent scrollTop to offset calculation
2012-12-07 14:11:18 -08:00
fat a7eb9c294a add noConflict functionality to all bootstrap plugins 2012-12-07 17:06:01 -05:00
Mark Otto 1c5b8e967e Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-12-07 09:51:57 -08:00
Mark Otto be45a821bb Fixes #6148: Icons in mini buttons properly aligned 2012-12-07 09:51:01 -08:00
Mark Otto 1413f976ae Merge pull request #6151 from tierra/pre-code-white-space-fix
Fix code block white-space breaks within pre tags.
2012-12-07 09:48:14 -08:00
Mark Otto cc6fda2262 Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-12-07 09:43:32 -08:00
Mark Otto 2c7ab23d7a Fixes #6136: Proper scoping of breadcrumbs divider 2012-12-07 09:43:09 -08:00
Mark Otto 2877f84579 Merge pull request #6143 from Quy/2.2.2-wip
Escape ×
2012-12-07 09:41:17 -08:00
Bryan Petty f4466dd9c7 Fix code block white-space breaks within pre tags. 2012-12-06 11:33:00 -07:00
Quy Ton 81679981c5 Escape × 2012-12-05 15:28:14 -08:00
Mark Otto 306c1b4914 Remove commented out old popover CSS 2012-12-05 11:06:16 -08:00
Mark Otto ed74992853 Fixes #4550: Temporary fix for dropdown taps on mobile
* Fix as documented here: https://github.com/twitter/bootstrap/issues/4756#issuecomment-9952781
* Stops propagation for touchstart for dropdowns
2012-12-04 18:36:18 -08:00
Mark Otto 12916b06aa Fix up display of dropdown submenu examples on responsive views 2012-12-04 18:25:16 -08:00
Mark Otto e31c7fb8a5 correct link on index page to grid system 2012-12-04 09:49:18 -08:00
Godric 8b959cacbc Update js/bootstrap-scrollspy.js
Fix for Bootstrap issue #6013 "scrollSpy - offset calculation"
https://github.com/twitter/bootstrap/issues/6013
2012-12-04 01:21:07 +01:00
Mark Otto 0f2a423b8d Once more, update all the favicons to retina 2012-12-03 13:25:56 -08:00
Mark Otto 15a4399015 Align the touch icons attributes 2012-12-03 13:22:10 -08:00
Mark Otto 869b69c66c Fixes #6115: scope breadcrumb styles to immediate children only 2012-12-03 13:09:38 -08:00
Mark Otto 06582edb2a Improve rendering of carousel example for IE10 2012-12-03 13:01:27 -08:00
Mark Otto d470fb72da nuke comments 2012-12-03 09:23:02 -08:00
Andreas Cederström 68cbba347b Fixing header color for success, error and info alerts 2012-12-03 14:20:14 +01:00
Mark Otto eca23e9b0f add source attribution for IE10 fix 2012-12-02 21:01:53 -08:00
Mark Otto f514c87d6b Enable responsive features in IE10 when snapped 2012-12-02 20:57:34 -08:00
Mark Otto 30d6a71ccd Revert vertical gradient spec to 'to bottom' as 'top' doesn't work in IE10 2012-12-02 20:40:24 -08:00
Mark Otto 439ff09701 herpderp 2012-12-02 18:15:40 -08:00
Mark Otto c8862d91bc Readme reorg
* Consolidate quick start options into easier to read list
* Consolidate social and community options into a list
* Add link to Code Guide for contributions section
2012-12-02 13:14:49 -08:00
Marcel Korpel 0dece7a71f Set focus back to input field after clicking an item
Test 'focus is still set' added

Fixes issue #5933
2012-12-02 12:35:33 +01:00
Mark Otto 139f1be49d reset text align in popovers given inline insertion 2012-12-02 02:30:00 -08:00
Mark Otto ea61cdb740 remove overrides on inner html of popover-content 2012-12-02 01:34:58 -08:00
Mark Otto 32d425967a run make on js changes to popover 2012-12-02 01:32:23 -08:00
Mark Otto 85c57c6ba8 Merge branch 'Moveo-master' into 2.2.2-wip 2012-12-02 01:32:13 -08:00
Mark Otto e8b3c36068 run make on modal popover fix 2012-12-02 00:09:45 -08:00
Mark Otto dbb244cb97 Merge pull request #6097 from blakeembrey/modal-body-relative
Add relative positioning to .modal-body
2012-12-01 17:45:33 -08:00
Blake Embrey fbec803b55 Add relative positioning to .modal-body - Fixes #5991 2012-12-02 09:53:05 +10:00
Mark Otto bca3ff4ed6 Fixes #5853: Maintain 10px margin above help block when following input groups 2012-11-29 23:39:33 -08:00
Mark Otto f087b3428c remove element from selector 2012-11-29 23:33:09 -08:00
Mark Otto fe7b6decb1 Merge pull request #6039 from desheikh/2.2.2-wip
help-block margin-top should also apply after a span.uneditable-input
2012-11-29 23:32:38 -08:00
Mark Otto 322a56354f run make with nav img fix 2012-11-29 23:27:20 -08:00
Mark Otto 721b568303 update comment 2012-11-29 23:27:09 -08:00
Mark Otto c5173cdb92 Merge branch 'idavemm-patch-1' into 2.2.2-wip 2012-11-29 23:26:22 -08:00
Mark Otto 52e669d619 Merge branch '2.2.2-wip-holder' into 2.2.2-wip 2012-11-29 21:35:57 -08:00
Mark Otto 38c546c785 upgrade to holder 1.6 2012-11-29 21:35:45 -08:00
Mark Otto 12aa060efd Merge branch 'jblotus-patch-1' into 2.2.2-wip 2012-11-29 21:06:20 -08:00
Mark Otto e9c32fdf6d Merge branch 'patch-1' of https://github.com/jblotus/bootstrap into jblotus-patch-1 2012-11-29 21:06:11 -08:00
Mark Otto acc037de15 add holder and replace placehold.it 2012-11-29 20:59:14 -08:00
Zulfiqar Ali ddd154481b added compiled css file 2012-11-29 17:40:23 +08:00
Mark Otto fa6a6dbb92 Merge pull request #6057 from ph-One/patch-3
Update Makefile's UglifyJS commands
2012-11-28 18:41:36 -08:00
Mark Otto 78390d12af Fix the carousel after we scoped selectors 2012-11-28 15:40:51 -08:00
Mark Otto cb69aa976f Merge branch 'trsteel88-master' into 2.2.2-wip 2012-11-28 15:35:16 -08:00
Kyle A. Matheny fe8df5022b Update Makefile
Fixed both instances of uglifyjs usage.
2012-11-28 23:33:05 +00:00
Mark Otto f1349a2450 Fixes #5533: Remove filter gradient from disabled links on dropdowns 2012-11-28 02:22:37 -08:00
Mark Otto 8fb36cb3dd Fixes #5594: Vertical button groups show use max-width, not width, and be scoped to immediate children buttons only 2012-11-28 02:21:34 -08:00
Mark Otto 296b838405 Fixes #5616: scope carousel state classes to immediate children only 2012-11-28 02:17:50 -08:00
Mark Otto bf3a5df371 Fixes #5930: redeclare font-size for popoves in btn-groups 2012-11-28 02:10:23 -08:00
Mark Otto 783120dffa Fixes #5927: Scope button group 5px button left margin to immediate children 2012-11-28 01:51:04 -08:00
Mark Otto 014d3cedf5 Fixes #5940: Prevent @headingsColor from changing alert colors 2012-11-28 01:48:34 -08:00
Mark Otto bfc97fdaf6 Fixes #4852: IE8 popover carets fixed
* IE8 refused a negative z-index to place the previous :after behind the .arrow, so I had to flip the styles.
* .arrow is the gray border/background, .arrow:after is now the white inner arrow
* Added a hex IE8 fallback to ensure the arrow shows for <IE9 as rgba() isn't supported
* Simplified some of the CSS for the popover carets
2012-11-28 01:38:21 -08:00
Zulfiqar Ali 693fd0db2a help-block margin-top should also apply after a span.uneditable-input 2012-11-28 16:47:59 +08:00
Mark Otto fda5bb135e Fixes #5963: Add large button example to icons, fix vertical alignment in large buttons 2012-11-28 00:46:09 -08:00
Mark Otto 74f51105e9 Fixes #6010: Navbar dropdown caret should match link hover color 2012-11-28 00:42:17 -08:00
Mark Otto 942f9c5df4 Fixes #6012: Updated docs sidenav media queries and reset width for exactly 980px 2012-11-28 00:37:55 -08:00
Mark Otto 02097700e8 Fixes #6035: use font-size vars in button groups 2012-11-28 00:31:52 -08:00
Mark Otto dc10e6bbf8 Fixes #5935: Updated vertical gradient mixin 2012-11-28 00:19:35 -08:00
Swaagie e6e4d93d5e leave it to the developer to decide how to use the content of the popover 2012-11-27 15:07:31 +01:00
Zulfiqar Ali 701f871e7d help-block margin-top should also apply after a span.input 2012-11-27 07:30:54 +08:00
Mark Otto e0d0190803 fix image sizes on homepage 2012-11-22 12:26:54 -08:00
Mark Otto 5d1b4206b1 Fixes #5986: single toggle button html examples 2012-11-22 12:06:36 -08:00
Mark Otto 8df2811d49 Simpler footer for docs
* Remove back to top link (ya'll are lazy :P)
* Center text
* Decrease vertical padding
2012-11-21 23:29:20 -08:00
Mark Otto 8b417c39e7 Merge pull request #5954 from tony/patch-2
Fix typo in reset.less
2012-11-19 15:31:14 -08:00
Tony Narlock ace6dc0c25 Fix typo in reset.less 2012-11-19 16:49:47 -05:00
Mark Otto a10d68f291 Fixes #5937: Border radius vars in button groups 2012-11-18 12:30:35 -08:00
Mark Otto a367fd4938 Fixes #5925: Adjust top margin of input group in navbar 2012-11-16 01:19:15 -08:00
Mark Otto 88c2497368 Fixes #5912: User correct selector for form field states.
Previously, we were using a generic label selector, but as this was changed in the main forms awhile back, we need to change it here.
2012-11-16 01:16:27 -08:00
Mark Otto 5702e1be6e widths on github buttons 2012-11-16 01:13:52 -08:00
Trent Steel 4d593618e0 add composer.json 2012-11-16 17:01:21 +10:00
Mark Otto 05655ff4ff fixes #5922: clicking only button should download custom build 2012-11-15 09:14:54 -08:00
Mark Otto 1700e48e7f Fixes #5879: Manual update of Normalize credit 2012-11-14 15:20:38 -08:00
Mark Otto 0df0b5f1f5 run make after latest merges 2012-11-14 15:19:16 -08:00
Mark Otto cd1f72f484 Merge pull request #5894 from amid2887/patch-3
Update less/tables.less ( typing, use variable, add border-radius reset )
2012-11-14 01:20:20 -08:00
Mark Otto 303767350c Merge pull request #5874 from tacomanator/2.2.2-wip
fixes #5873: @navbarInverseBrandColor not used
2012-11-14 01:18:11 -08:00
Paul McLanahan 6ec7c72e5b Fix issue with double move event firing in typeahead.
Fix test to catch issue.
Fix #5806.
2012-11-13 11:00:34 -05:00
amid2887 41889f74d0 Update less/tables.less
Possible typing.

Add @baseBorderRadius as value for some rules.

Add border-radius clearing for first and last td in the last tbody for table with tfoot.
2012-11-13 17:49:33 +07:00
Drew Goodwin c8856eeff3 fixes #5873: @navbarInverseBrandColor not used 2012-11-10 17:58:00 -08:00
Mark Otto 54486de88c run make again 2012-11-09 09:21:14 -08:00
Mark Otto f2bbee2075 remove * line-height 2012-11-08 23:56:29 -08:00
Mark Otto ddf5ceccce typo fix 2012-11-08 23:49:04 -08:00
Mark Otto cf7d7a7b5d remove ; from customizer 2012-11-08 23:46:40 -08:00
Mark Otto 02c0b788cd Merge pull request #5795 from globocom/missing-i18n-customize-and-download
insert missing i18n tag at customize and download string
2012-11-05 17:47:45 -08:00
Alexandre Magno 0a1d296e19 insert missing i18n tag at customize and download string 2012-11-05 18:38:59 -02:00
Mark Otto 79b7017227 version bump 2012-11-05 09:32:48 -08:00
Mark Otto d38bda1480 Fixes #5471: Remove color from .navbar and .navbar-inverse and reassign to .navbar-text to prevent unintended cascading 2012-11-04 22:50:07 -08:00
Mark Otto 62c78e46f8 more required input tweaks 2012-11-04 19:53:13 -08:00
Mark Otto 91bcccd9a8 simplify invalid input css 2012-11-04 19:43:09 -08:00
Mark Otto ebed09ec01 Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-11-04 19:42:13 -08:00
Mark Otto f3b3814606 Merge pull request #5786 from cvrebert/2.2.2-wip
fixes #5494: style invalid fields as invalid regardless of required-ness
2012-11-04 19:41:59 -08:00
Mark Otto 823b5accd3 start documenting html5 invalid form fields 2012-11-04 19:41:41 -08:00
Mark Otto 7e6cc0bf7e Fixes #5785: allow for segmented button groups in input groups 2012-11-04 19:08:02 -08:00
Chris Rebert 76f9c9128e fixes #5494: style invalid fields as invalid regardless of required-ness 2012-11-04 18:26:25 -08:00
Mark Otto 51f293ba4c Fixes #5662: white-space: nowrap; on code element 2012-11-04 13:30:36 -08:00
Mark Otto 075e320a83 remove unnecessary bg declarations in buttons per #5684 2012-11-04 13:26:03 -08:00
Mark Otto 21957a3d9e set background size for docs jumbotron for retina 2012-11-04 13:24:06 -08:00
Mark Otto 953dc3a6f2 higher res docs illustrations 2012-11-04 13:23:08 -08:00
Mark Otto fb51efcbd4 Fixes #5113: increase .typeahead z-index for proper use with modals 2012-11-04 13:01:31 -08:00
Mark Otto 2320a09898 fix modals display in docs on tablet view 2012-11-04 12:58:57 -08:00
Mark Otto 22d1506d23 remove margin on .inline lists 2012-11-04 12:39:27 -08:00
Mark Otto 28da31218f Refine new inline list option 2012-11-04 12:36:37 -08:00
Mark Otto 68f26d959f Merge branch '2.1.2-list-inline' of https://github.com/andriijas/bootstrap into andriijas-2.1.2-list-inline 2012-11-04 12:27:30 -08:00
Mark Otto e4866c4b3c clarify unstyled lists docs 2012-11-04 12:27:18 -08:00
Mark Otto 5d6cf2ee19 Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-11-03 13:43:23 -07:00
Mark Otto 2c93190283 Fixes #5776: Reside white-space for popovers 2012-11-03 13:42:08 -07:00
Mark Otto a8b9342aea Fixes #5739: Port in HTML5 BP print styles 2012-11-03 13:37:34 -07:00
Mark Otto c9dbd2d601 Fixes #5458: Clarify fluid nesting 2012-11-03 13:28:48 -07:00
Mark Otto 72e2d4bb77 Merge pull request #5766 from bradly/spelling-fixes-in-docs
Fixing various spelling typos in the docs.
2012-11-03 13:20:06 -07:00
Mark Otto 7ea343d570 Merge branch '2.2.2-wip' of github.com:twitter/bootstrap into 2.2.2-wip 2012-11-03 13:19:53 -07:00
Mark Otto ead5dbeba5 Fixes #5775: Collapse labels/badges
* When :empty, display: none;
* Add documentation for change in behavior
2012-11-03 13:18:23 -07:00
Mark Otto 2f39f86bd7 Merge pull request #5777 from bradly/change-example-emails-in-docs
Change example email addresses to use RFC 2606 reserved example domain.
2012-11-03 13:12:02 -07:00
Bradly Feeley 381d967ec8 Change example email addresses to use RFC 2606 reserved example domain. 2012-11-03 12:15:01 -06:00
Bradly Feeley 46b5e0cbc6 Fixing various spelling typos in the docs. 2012-11-02 16:34:21 -06:00
Mark Otto fc42ac6a56 fixes #5756: duplicate media CSS in compiled builds 2012-11-02 09:47:42 -07:00
David 46d38b10b8 Prevent IE8 from misplacing imgs
Fixed imgs in a nav that were misplaced on IE8.
2012-11-02 15:04:34 +01:00
Mark Otto d0c75bbc83 fixes #5742: add cursor: pointer; to labels and selects 2012-11-01 09:44:51 -07:00
Mark Otto d350f577e9 fixes #3222: simpler positioning of modals 2012-10-31 21:43:32 -07:00
Mark Otto 46347fff01 fixes #5692: add version # to readme 2012-10-31 11:17:01 -07:00
NinirandMark Otto be03a53086 Replaced hardcoded CSS rules with mixins 2012-10-31 11:09:44 -07:00
Mark Otto 14b941744c fixes #5700: restore white text on active dropdown/typeahead text 2012-10-31 10:51:27 -07:00
Mark Otto bf48c31406 Merge branch 'bradly-affix-docs-fix' into 2.2.2-wip 2012-10-31 10:48:44 -07:00
Mark Otto 64326322b4 fixes #5725: hover state for a.muted; also reformatted CSS 2012-10-31 10:46:04 -07:00
Mark Otto d5697fcf6b fixes #5717: add retina favicon, recompile docs 2012-10-31 10:41:41 -07:00
fat 3b3dd3ac3c 2.2.1 - hotfix for carousel 2012-10-30 21:59:56 -07:00
fat 404e4d9e9a fix carousel and rebuild js 2012-10-30 21:32:15 -07:00
Bradly Feeley cbf1dace2f Fixing typos in affix options area in the docs. 2012-10-30 11:46:18 -07:00
Mark Otto b5af762ef5 Merge branch '2.1.2-wip'
Conflicts:
	js/bootstrap-dropdown.js
2012-10-29 22:01:58 -07:00
fat 68cfedb34a Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip 2012-10-29 21:55:07 -07:00
fat f1136228a7 add note about js style 2012-10-29 21:54:51 -07:00
Mark Otto bf10a43ed9 derp, add that in the right spot 2012-10-29 21:34:10 -07:00
Mark Otto 5bb6c42405 fixes #4511: remove focus on opened modal window 2012-10-29 21:33:20 -07:00
Mark Otto a6968c4934 Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip 2012-10-29 21:30:45 -07:00
Mark Otto 9352fe1750 add a ton of the new vars to the customizer 2012-10-29 21:30:39 -07:00
fat f595e146d6 http link 2012-10-29 21:29:05 -07:00
fat 31c1eba51b Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip
Conflicts:
	bootstrap/css/bootstrap.css
	bootstrap/css/bootstrap.min.css
2012-10-29 21:28:17 -07:00
fat 92e7f166e7 remove haunt, remove bootstrap dir, add bower support 2012-10-29 21:27:34 -07:00
Mark Otto 81c3c1c68c add media.less to customizer page 2012-10-29 21:02:05 -07:00
Mark Otto 41ad16fe40 v2.2.0 instead of v2.1.2 2012-10-29 21:00:53 -07:00
Andreas Cederström 233e050adf Adding .inline for ul and ol 2012-10-26 09:47:55 +02:00
Mark Otto c33169a6ba fixes #5572: document .input-block-level 2012-10-18 11:19:16 -07:00
Jacob Thornton ba2a99e7c4 don't lookup typeahead when shift alt or ctrl are pushed 2012-10-17 23:39:41 -07:00
Jacob Thornton 45046544a6 when static, refocus on click 2012-10-17 23:36:22 -07:00
Jacob Thornton 0b9d4e78ad Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip 2012-10-17 23:06:58 -07:00
Jacob Thornton 7f3b94c453 Merge branch 'delegate-api-to-document' of git://github.com/badcarl/bootstrap into badcarl-delegate-api-to-document
Conflicts:
	js/bootstrap-carousel.js
2012-10-17 23:05:16 -07:00
billy gates d6ac499ca8 Merge pull request #5309 from erlendfh/dropdown-bugfix
Fixed bug in dropdown toggle where menu would only clear on the first dropdown
2012-10-17 23:00:41 -07:00
Jacob Thornton 280d4aeb30 rebuild 2012-10-17 22:51:39 -07:00
billy gates 7426ced0fb Merge pull request #5323 from artiz/master
Please check my fix for #4550
2012-10-17 22:50:52 -07:00
billy gates 24b5e6cb14 Merge pull request #5366 from Sinetheta/2.1.2-wip
Fix for #5362
2012-10-17 22:30:40 -07:00
Jacob Thornton a2fc01444e Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip 2012-10-17 22:27:00 -07:00
Jacob Thornton edc3eee5ea fix carousel event 2012-10-17 22:26:44 -07:00
billy gates 21f29a7682 Merge pull request #5389 from frntz/2.1.2-wip
Update js/bootstrap-tooltip.js
2012-10-17 22:15:48 -07:00
Jacob Thornton 8e6697f2b2 Merge branch '2.1.2-wip' of github.com:twitter/bootstrap into 2.1.2-wip 2012-10-17 21:38:01 -07:00
Jacob Thornton ac6625de5f add updater function and rebuild 2012-10-17 21:37:34 -07:00
billy gates 0a3e034891 Merge pull request #5524 from martinstein/fix-tooltip-delegate-click
Fix tooltip not working in delegate events on click-trigger
2012-10-17 21:34:01 -07:00
billy gates 97bf02d787 Merge pull request #5531 from dmitriybudnik/carousel-js-typo-fix
Fixed copy/paste caused typo
2012-10-17 21:25:21 -07:00
billy gates 3074737d90 Merge pull request #5549 from mfansler/2.1.2-wip
fixes #5336: reorder focus() call to avoid scrolling
2012-10-17 21:21:31 -07:00
Mark Otto e0a007b929 Merge pull request #5507 from bradly/2.1.2-wip
Fixing typo in docs.
2012-10-16 20:36:26 -07:00
Mark Otto b06724a1a4 Merge pull request #5508 from bradly/fix-readme-link
Updating README link about Less compilation.
2012-10-16 20:36:12 -07:00
Mark Otto 709870aa3e fixes #5496: use correct var for dropdown active link text 2012-10-16 20:34:42 -07:00
Mark Otto 57eb2a8018 more hellip on modals 2012-10-16 20:28:07 -07:00
Mark Otto 0ac50d28b5 fixes #5519: hellip in modal code 2012-10-16 20:18:50 -07:00
Mark Otto 78f7ad95f4 fixes #5542: move '.hero-unit p' font-styles to '.hero-unit' so they apply to all elements, including ul and ol, within the component. 2012-10-16 19:56:34 -07:00
Mark Otto bf78333531 add in latest carousel example, reorg examples on getting started 2012-10-16 12:50:10 -05:00
Mark Otto 463eae25b0 clarify js docs individual or compiled section 2012-10-16 12:37:36 -05:00
mfansler e24b46b7f3 fixes #5336: reorder focus() call to avoid scrolling 2012-10-16 12:27:43 -04:00
Dmitriy Budnik ae0ba0686e set spesific assertions count for test 2012-10-16 11:16:38 +03:00
Dmitriy Budnik cd55963930 fixed test 2012-10-16 09:49:26 +03:00
dmitriybudnik 432eaff29c Fixed copy/paste caused typo 2012-10-15 22:35:32 +03:00
Mark Otto 0048446db9 improve spacing in carousel example 2012-10-15 13:57:09 -05:00
Martin Stein 6b017b9bea fixed reference to this.tip() so it works in delegate events 2012-10-15 15:17:59 +02:00
Bradly Feeley fda641fb6c Updating README link about Less compilation. 2012-10-13 18:38:34 -07:00
Bradly Feeley ed5c5994a7 Fixing typo in docs. 2012-10-13 18:31:41 -07:00
James Fuller d19ca23f8f Update package.json
when building using Makefile, dependency for hogan.js needs to be installed
2012-10-11 21:30:04 -03:00
Mark Otto fa778792c5 compress images and add new carousel example for .net magazine article 2012-10-10 17:58:22 -07:00
Mark Otto df9a1c29f4 Merge branch '2.1.2-wip' of https://github.com/twitter/bootstrap into 2.1.2-wip 2012-10-10 10:29:55 -07:00
Mark Otto 31007c01d8 fixes #5478: remove double background color on dropdown links 2012-10-10 10:29:22 -07:00
Mark Otto 5af5c2ed36 fixes #: remove double background color on dropdown links 2012-10-10 09:51:13 -07:00
Mark Otto b18c009051 fixes #5473: use baselineheight var for input bottom margin 2012-10-10 09:47:08 -07:00
Kevin Attfield 48a8dd2a23 Added test to fix for #5362 2012-10-08 22:29:44 -07:00
Mark Otto 4702e75410 comments in template 2012-10-08 18:59:44 -07:00
Mark Otto ec8394cb6e adding another template for same-width nav links using 'display: table-cell;' 2012-10-08 18:58:35 -07:00
Mark Otto 7e534ce98a fixes #5443: reset background gradient on disabled dropdown links 2012-10-07 21:45:16 -07:00
Mark Otto e4f522990e fixes #5416: use correct variable for inverse navbar responsive links 2012-10-07 21:43:37 -07:00
Mark Otto 6203535d2f Changing title of docs pages to simply say 'Bootstrap' like the docs home page 2012-10-07 21:38:28 -07:00
Mark Otto d76c305cbb remove 'at twitter' part of readme 2012-10-06 14:42:07 -07:00
Mark Otto 7d649c9d4a fixes #5430: scope link styles in .dropdown-menu to .dropdown-menu li > a 2012-10-05 11:13:21 -07:00
Mark Otto 3726ce24bb finish off scoping of grid sizing to table elements 2012-10-03 09:43:14 -07:00
Mark Otto 11ee1633b4 fixes #5257: add data-original-title attribute selector to abbr element 2012-10-03 09:36:45 -07:00
Mark Otto dd8b745b88 use border-radius vars where possible 2012-10-03 09:26:52 -07:00
Mark Otto e73cd15fc8 copy and style changes to improve docs rendering on mobile devices 2012-10-02 17:01:18 -07:00
Mark Otto 630a88d3ce Merge pull request #5281 from GotenXiao/pagination-active-background
Use paginationActiveBackground var to finish fixing #4295
2012-10-02 15:23:59 -07:00
Mark Otto a2369021ce fixes #5352: update docs messaging for disable nav links 2012-10-02 15:10:22 -07:00
Mark Otto 1bd4723038 fixes #5392: hover on submenu should maintain white icons for active parent a tag 2012-10-02 13:19:11 -07:00
frntz b892a37320 Update js/bootstrap-tooltip.js
Avoid loosing events attached on Jquery object if added via function in popover content
2012-10-02 18:26:55 +03:00
Mark Otto 7c9597f4e7 remove double border effect: instead of inset shadow and border on fixed navbars, only border 2012-10-01 23:34:03 -07:00
Mark Otto 1b814458c9 improve dropdown submenu docs; add docs for left submenu; remove all dupe css for left submenu 2012-10-01 16:41:13 -07:00
Mark Otto 7763cab608 Merge branch '2.1.2-wip' of https://github.com/advancedrei/bootstrap into advancedrei-2.1.2-wip 2012-10-01 16:15:26 -07:00
Mark Otto 5cf7c803e2 Merge branch '2.1.2-wip-modal-responsivefix' of https://github.com/andriijas/bootstrap into andriijas-2.1.2-wip-modal-responsivefix 2012-10-01 15:29:21 -07:00
Mark Otto d36e37214b fixes #5319: add backface-visibility for webkit skewing 2012-10-01 15:26:17 -07:00
Mark Otto 86d5ed6f4f fixes #5377: change selectors for navbar collapse to be unique so only one open/closes at a time 2012-10-01 13:52:50 -07:00
Mark Otto fd1e9b1498 fix copy on modal popover button doodad 2012-10-01 13:28:54 -07:00
Mark Otto f8ac403d8b fixes #5123: scope table grid classes to td and th elements only, plus drop columns 13-24 2012-10-01 13:08:21 -07:00
Mark Otto bc4f5d565e fixes #5275: inline-block badges and labels, then fix padding accordingly 2012-10-01 12:04:10 -07:00
Mark Otto 5035592988 fixes #5193 manually: checkbox and radio padding in .controls-row 2012-10-01 11:53:52 -07:00
Mark Otto c6c1ada600 clarify tables support of responsive utility classes, of which there is none 2012-10-01 11:18:49 -07:00
Mark Otto a90334eebb fix docs sidenav width for ie8-9 2012-10-01 11:11:33 -07:00
Mark Otto 239ce24f92 fixes #5188: add .google-maps class to reset responsive images on case-by-case basis 2012-10-01 10:49:19 -07:00
Mark Otto 085d6d185d fixes #5055: wrap legend and form elements in fieldset so IE8 styles the legend properly 2012-10-01 10:42:45 -07:00
Mark Otto 32181816f7 run make on previous merge 2012-10-01 10:27:42 -07:00
Mark Otto c77d4266c0 Merge pull request #5369 from amid2887/2.1.2-wip
Add missing icon class definition for navs.less
2012-10-01 10:27:13 -07:00
amid2887 46764a7165 Add missing icon class definition for navs.less
add missing icon class definition for navs:
'[class*=" icon-"]'

P.S. Sorry for 2 pull requests with the same problem..
2012-10-01 14:32:51 +07:00
Kevin Attfield 82715ae96d Fix for #5362
Fix for issue [5362](https://github.com/twitter/bootstrap/issues/5362):
tab events fired on wrong dropdown anchor.
2012-09-30 21:41:37 -07:00
Carl Porth e1f6458e36 don't wait for ready when binding events to document 2012-09-27 15:00:02 -07:00
Artem Kustikov 0944e036ae Fix for #4550
Also fixes dropdowns hiding behavior for case when two or more dropdowns
with [data-toggle=dropdown] exist on the page
2012-09-27 21:45:37 +03:00
Andreas Cederström ecbb0ed4df Making modal work with max width 767px - fixes #4860 2012-09-27 11:46:54 +02:00
Erlend Halvorsen e9a648cd39 Fixed bug in dropdown toggle where menu would only clear on the first drop down 2012-09-27 10:31:40 +02:00
Carl Porth 474471b831 bind data-api events to document instead of body to allow body replacement 2012-09-26 23:11:03 -07:00
Robin Lewis b29d947477 Use paginationActiveBackground var to finish fixing #4295 2012-09-25 21:12:01 +01:00
Robert McLaws 6aa15eb01f Support for left-opening dropdown submenus
Adds a new class called .dropdown-submenu-left. It is useful when you
have a .pull-right DropDown that has submenus. Without this, the menu
opens left past the page boundary, which can trigger the scrollbars and
cause other nastiness.
2012-09-16 03:02:31 -04:00
141 changed files with 4514 additions and 7738 deletions
-85
View File
@@ -1,85 +0,0 @@
/* ==========================================================
* issue-guidelines.js
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 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.
* ========================================================== */
var assert = require('assert')
module.exports = {
'pull-requests': {
'should always be made against -wip branches': function (pull) {
assert.ok(/\-wip$/.test(pull.base.ref))
},
'should always be made from feature branches': function (pull) {
assert.notEqual(pull.head.ref, 'master')
},
'should always include a unit test if changing js files': function (pull) {
var hasJS = false
var hasTests = false
pull.files.forEach(function (file) {
if (/^js\/[^./]+.js/.test(file.filename)) hasJS = true
if (/^js\/tests\/unit\/[^.]+.js/.test(file.filename)) hasTests = true
})
assert.ok(!hasJS || hasJS && hasTests)
},
'after': function (pull) {
if (pull.reporter.stats.failures) {
pull.reportFailures(pull.close.bind(pull))
}
}
},
'issues': {
'before': function (issue) {
var plus = {}
var labels = issue.labels.map(function (label) { return label.name });
if (~labels.indexOf('popular')) return
issue.comments.forEach(function (comment) {
if (/\+1/.test(comment.body)) plus[comment.user.login] = true
})
if (Object.keys(plus).length > 5) {
issue.tag('popular')
issue.comment('Tagging this issue as popular, please stop commenting on this issue with +1. thanks!')
}
},
'should include a jsfiddle/jsbin illustrating the problem if tagged with js but not a feature': function (issue) {
var labels = issue.labels.map(function (label) { return label.name });
if (~labels.indexOf('js') && !~labels.indexOf('feature')) assert.ok(/(jsfiddle|jsbin)/.test(issue.body))
},
'after': function (issue) {
if (issue.reporter.stats.failures) {
issue.reportFailures(issue.close.bind(issue))
}
}
}
}
+10
View File
@@ -60,6 +60,16 @@ As of v2.0.0, Bootstrap's documentation is powered by Mustache templates and bui
## Coding standards: JS
- No semicolons
- Comma first
- 2 spaces (no tabs)
- strict mode
- "Attractive"
## License ## License
By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twitter/bootstrap/blob/master/LICENSE By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twitter/bootstrap/blob/master/LICENSE
+41 -23
View File
@@ -18,8 +18,8 @@ build:
@jshint js/*.js --config js/.jshintrc @jshint js/*.js --config js/.jshintrc
@jshint js/tests/unit/*.js --config js/.jshintrc @jshint js/tests/unit/*.js --config js/.jshintrc
@echo "Running JSHint on javascript... ${CHECK} Done" @echo "Running JSHint on javascript... ${CHECK} Done"
@recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP} @./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
@recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE} @./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
@echo "Compiling LESS with Recess... ${CHECK} Done" @echo "Compiling LESS with Recess... ${CHECK} Done"
@node docs/build @node docs/build
@cp img/* docs/assets/img/ @cp img/* docs/assets/img/
@@ -27,8 +27,8 @@ build:
@cp js/tests/vendor/jquery.js docs/assets/js/ @cp js/tests/vendor/jquery.js docs/assets/js/
@echo "Compiling documentation... ${CHECK} Done" @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 @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
@uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js @./node_modules/.bin/uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
@echo "/**\n* Bootstrap.js v2.1.2 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js @echo "/**\n* Bootstrap.js v2.3.0 by @fat & @mdo\n* Copyright 2012 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 @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 @rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
@echo "Compiling and minifying javascript... ${CHECK} Done" @echo "Compiling and minifying javascript... ${CHECK} Done"
@@ -43,8 +43,8 @@ build:
# #
test: test:
jshint js/*.js --config js/.jshintrc ./node_modules/.bin/jshint js/*.js --config js/.jshintrc
jshint js/tests/unit/*.js --config js/.jshintrc ./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
node js/tests/server.js & node js/tests/server.js &
phantomjs js/tests/phantom.js "http://localhost:3000/js/tests" phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
kill -9 `cat js/tests/pid.txt` kill -9 `cat js/tests/pid.txt`
@@ -62,21 +62,46 @@ clean:
# recess & uglifyjs are required # recess & uglifyjs are required
# #
bootstrap: bootstrap: bootstrap-img bootstrap-css bootstrap-js
mkdir -p bootstrap/img
mkdir -p bootstrap/css
#
# JS COMPILE
#
bootstrap-js: bootstrap/js/*.js
bootstrap/js/*.js: js/*.js
mkdir -p bootstrap/js mkdir -p bootstrap/js
cp img/* bootstrap/img/
recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
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 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
uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.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 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 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 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 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 ) # MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
# #
@@ -97,12 +122,5 @@ watch:
echo "Watching less files..."; \ echo "Watching less files..."; \
watchr -e "watch('less/.*\.less') { system 'make' }" watchr -e "watch('less/.*\.less') { system 'make' }"
#
# HAUNT GITHUB ISSUES 4 FAT & MDO ONLY (O_O )
#
haunt: .PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js
@haunt .issue-guidelines.js https://github.com/twitter/bootstrap
.PHONY: docs watch gh-pages
+37 -60
View File
@@ -1,21 +1,26 @@
[Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap) <a href="http://getbootstrap.com">
================= <img src="http://twitter.github.com/bootstrap/assets/img/bootstrap-docs-readme.png" width="100px">
</a>
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) at Twitter. # [Bootstrap v2.3.0](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
To get started, checkout http://getbootstrap.com! 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 ## Quick start
-----------
Clone the repo, `git clone git://github.com/twitter/bootstrap.git`, or [download the latest release](https://github.com/twitter/bootstrap/zipball/master). Three quick start options are available:
* [Download the latest release](https://github.com/twitter/bootstrap/zipball/master).
* Clone the repo: `git clone git://github.com/twitter/bootstrap.git`.
* Install with Twitter's [Bower](http://twitter.github.com/bower): `bower install bootstrap`.
Versioning ## 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. 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.
@@ -29,55 +34,28 @@ And constructed with the following guidelines:
* New additions without breaking backward compatibility bumps the minor (and resets the patch) * New additions without breaking backward compatibility bumps the minor (and resets the patch)
* Bug fixes and misc changes bumps the patch * Bug fixes and misc changes bumps the patch
For more information on SemVer, please visit http://semver.org/. For more information on SemVer, please visit [http://semver.org/](http://semver.org/).
Bug tracker ## Bug tracker
-----------
Have a bug? Please create an issue here on GitHub that conforms with [necolas's guidelines](https://github.com/necolas/issue-guidelines). Have a bug or a feature request? [Please open a new issue](https://github.com/twitter/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/).
https://github.com/twitter/bootstrap/issues
Twitter account ## Community
---------------
Keep up to date on announcements and more by following Bootstrap on Twitter, [@TwBootstrap](http://twitter.com/TwBootstrap). 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.
Blog ## Developers
----
Read more detailed announcements, discussions, and more on [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
Mailing list
------------
Have a question? Ask on our mailing list!
twitter-bootstrap@googlegroups.com
http://groups.google.com/group/twitter-bootstrap
IRC
---
Server: irc.freenode.net
Channel: ##twitter-bootstrap (the double ## is not a typo)
Developers
----------
We have included a makefile with convenience methods for working with the Bootstrap library. We have included a makefile with convenience methods for working with the Bootstrap library.
@@ -89,7 +67,7 @@ $ npm install recess connect uglify-js jshint -g
``` ```
+ **build** - `make` + **build** - `make`
Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. <a href="http://twitter.github.com/bootstrap/less.html#compiling">Read more in our docs &raquo;</a> Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. <a href="http://twitter.github.com/bootstrap/extend.html#compiling">Read more in our docs &raquo;</a>
+ **test** - `make test` + **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. Runs jshint and qunit tests headlessly in [phantomjs](http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed.
@@ -99,30 +77,29 @@ This is a convenience method for watching just Less files and automatically buil
Contributing ## Contributing
------------
Please submit all pull requests against *-wip branches. If your unit test contains javascript patches or features, you must include relevant unit tests. Thanks! 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 ## Authors
-------
**Mark Otto** **Mark Otto**
+ http://twitter.com/mdo + [http://twitter.com/mdo](http://twitter.com/mdo)
+ http://github.com/markdotto + [http://github.com/mdo](http://github.com/mdo)
**Jacob Thornton** **Jacob Thornton**
+ http://twitter.com/fat + [http://twitter.com/fat](http://twitter.com/fat)
+ http://github.com/fat + [http://github.com/fat](http://github.com/fat)
Copyright and license ## Copyright and license
---------------------
Copyright 2012 Twitter, Inc. Copyright 2012 Twitter, Inc.
@@ -130,7 +107,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this work except in compliance with 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: 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](http://www.apache.org/licenses/LICENSE-2.0)
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
-5829
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+8
View File
@@ -0,0 +1,8 @@
{
"name": "bootstrap",
"version": "2.3.0",
"main": ["./docs/assets/js/bootstrap.js", "./docs/assets/css/bootstrap.css"],
"dependencies": {
"jquery": "~1.8.0"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"name": "twitter/bootstrap"
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
, "keywords": ["bootstrap", "css"]
, "homepage": "http://twitter.github.com/bootstrap/"
, "author": "Twitter Inc."
, "license": "Apache-2.0"
, "target-dir": "twitter/bootstrap"
}
+17 -3
View File
@@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Responsive v2.1.2 * Bootstrap Responsive v2.3.0
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@@ -40,6 +40,10 @@
box-sizing: border-box; box-sizing: border-box;
} }
@-ms-viewport {
width: device-width;
}
.hidden { .hidden {
display: none; display: none;
visibility: hidden; visibility: hidden;
@@ -872,8 +876,11 @@
width: auto; width: auto;
margin: 0; margin: 0;
} }
.modal.fade {
top: -100px;
}
.modal.fade.in { .modal.fade.in {
top: auto; top: 20px;
} }
} }
@@ -999,6 +1006,10 @@
.nav-collapse .dropdown-menu a:hover { .nav-collapse .dropdown-menu a:hover {
background-color: #f2f2f2; background-color: #f2f2f2;
} }
.navbar-inverse .nav-collapse .nav > li > a,
.navbar-inverse .nav-collapse .dropdown-menu a {
color: #999999;
}
.navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover { .navbar-inverse .nav-collapse .dropdown-menu a:hover {
background-color: #111111; background-color: #111111;
@@ -1011,7 +1022,7 @@
position: static; position: static;
top: auto; top: auto;
left: auto; left: auto;
display: block; display: none;
float: none; float: none;
max-width: none; max-width: none;
padding: 0; padding: 0;
@@ -1025,6 +1036,9 @@
-moz-box-shadow: none; -moz-box-shadow: none;
box-shadow: none; box-shadow: none;
} }
.nav-collapse .open > .dropdown-menu {
display: block;
}
.nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:before,
.nav-collapse .dropdown-menu:after { .nav-collapse .dropdown-menu:after {
display: none; display: none;
+477 -331
View File
File diff suppressed because it is too large Load Diff
-57
View File
@@ -1,57 +0,0 @@
/*
Bootstrap's customizer
*/
body {
padding: 0;
}
body > .navbar,
.footer {
display: none;
}
.bsc-sidebar {
position: fixed;
top: 0;
left: 0;
bottom: 0;
width: 239px;
background-color: #f5f5f5;
border-right: 1px solid #ccc;
}
.bsc-preview {
margin-left: 240px;
padding: 20px;
}
.bsc-heading {
margin: 20px;
color: #ccc;
text-shadow: 0 1px 0 rgba(255,255,255,.75);
}
.bsc-toolbar {
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
.bsc-toolbar .btn-group {
width: 239px;
overflow: hidden;
}
.bsc-toolbar .btn-group .btn {
border-radius: 0;
width: 121px;
margin: 0;
padding: 10px;
}
.bsc-toolbar .btn-group .btn:first-child {
margin-left: -1px;
}
.bsc-toolbar .btn-group .btn:last-child {
margin-right: -1px;
border-left-width: 0;
}
+80 -14
View File
@@ -114,7 +114,7 @@ hr.soften {
.jumbotron p { .jumbotron p {
font-size: 24px; font-size: 24px;
font-weight: 300; font-weight: 300;
line-height: 30px; line-height: 1.25;
margin-bottom: 30px; margin-bottom: 30px;
} }
@@ -177,6 +177,16 @@ hr.soften {
background: url(../img/bs-docs-masthead-pattern.png) repeat center center; background: url(../img/bs-docs-masthead-pattern.png) repeat center center;
opacity: .4; opacity: .4;
} }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1) {
.jumbotron:after {
background-size: 150px 150px;
}
}
/* Masthead (docs home) /* Masthead (docs home)
------------------------- */ ------------------------- */
@@ -275,12 +285,13 @@ hr.soften {
margin-bottom: 40px; margin-bottom: 40px;
font-size: 20px; font-size: 20px;
font-weight: 300; font-weight: 300;
line-height: 25px; line-height: 1.25;
color: #999; color: #999;
} }
.marketing img { .marketing-img {
display: block; display: block;
margin: 0 auto 30px; margin: 0 auto 30px;
max-height: 145px;
} }
@@ -289,7 +300,8 @@ hr.soften {
-------------------------------------------------- */ -------------------------------------------------- */
.footer { .footer {
padding: 70px 0; text-align: center;
padding: 30px 0;
margin-top: 70px; margin-top: 70px;
border-top: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5;
background-color: #f5f5f5; background-color: #f5f5f5;
@@ -303,7 +315,10 @@ hr.soften {
} }
.footer-links li { .footer-links li {
display: inline; display: inline;
margin-right: 10px; padding: 0 2px;
}
.footer-links li:first-child {
padding-left: 0;
} }
@@ -332,8 +347,14 @@ hr.soften {
margin-bottom: 0; margin-bottom: 0;
} }
.show-grid .show-grid [class*="span"] { .show-grid .show-grid [class*="span"] {
margin-top: 5px;
}
.show-grid [class*="span"] [class*="span"] {
background-color: #ccc; background-color: #ccc;
} }
.show-grid [class*="span"] [class*="span"] [class*="span"] {
background-color: #999;
}
@@ -531,6 +552,9 @@ h2 + .row {
/* Example page /* Example page
------------------------- */ ------------------------- */
.bootstrap-examples h4 {
margin: 10px 0 5px;
}
.bootstrap-examples p { .bootstrap-examples p {
font-size: 13px; font-size: 13px;
line-height: 18px; line-height: 18px;
@@ -666,6 +690,21 @@ form.bs-docs-example {
margin: 20px; margin: 20px;
} }
/* Dropdowns */
.bs-docs-example-submenus {
min-height: 180px;
}
.bs-docs-example-submenus > .pull-left + .pull-left {
margin-left: 20px;
}
.bs-docs-example-submenus .dropup > .dropdown-menu,
.bs-docs-example-submenus .dropdown > .dropdown-menu {
display: block;
position: static;
margin-bottom: 5px;
*width: 180px;
}
/* Responsive docs /* Responsive docs
@@ -754,7 +793,7 @@ form.bs-docs-example {
} }
.bs-docs-sidenav > li > a { .bs-docs-sidenav > li > a {
display: block; display: block;
*width: 190px; width: 190px \9;
margin: 0 0 -1px; margin: 0 0 -1px;
padding: 8px 14px; padding: 8px 14px;
border: 1px solid #e5e5e5; border: 1px solid #e5e5e5;
@@ -821,6 +860,9 @@ form.bs-docs-example {
.bs-docs-sidenav { .bs-docs-sidenav {
width: 258px; width: 258px;
} }
.bs-docs-sidenav > li > a {
width: 230px \9; /* Override the previous IE8-9 hack */
}
} }
/* Desktop /* Desktop
@@ -843,6 +885,7 @@ form.bs-docs-example {
/* When affixed, space properly */ /* When affixed, space properly */
.bs-docs-sidenav { .bs-docs-sidenav {
top: 0; top: 0;
width: 218px;
margin-top: 30px; margin-top: 30px;
margin-right: 0; margin-right: 0;
} }
@@ -850,7 +893,7 @@ form.bs-docs-example {
/* Tablet to desktop /* Tablet to desktop
------------------------- */ ------------------------- */
@media (min-width: 768px) and (max-width: 980px) { @media (min-width: 768px) and (max-width: 979px) {
/* Remove any padding from the body */ /* Remove any padding from the body */
body { body {
padding-top: 0; padding-top: 0;
@@ -941,11 +984,11 @@ form.bs-docs-example {
/* Downsize the jumbotrons */ /* Downsize the jumbotrons */
.jumbotron h1 { .jumbotron h1 {
font-size: 60px; font-size: 45px;
} }
.jumbotron p, .jumbotron p,
.jumbotron .btn { .jumbotron .btn {
font-size: 20px; font-size: 18px;
} }
.jumbotron .btn { .jumbotron .btn {
display: block; display: block;
@@ -960,7 +1003,10 @@ form.bs-docs-example {
/* Marketing on home */ /* Marketing on home */
.marketing h1 { .marketing h1 {
font-size: 40px; font-size: 30px;
}
.marketing-byline {
font-size: 18px;
} }
/* center example sites */ /* center example sites */
@@ -985,7 +1031,26 @@ form.bs-docs-example {
word-break: break-all; word-break: break-all;
} }
/* Modal example */ /* Examples: dropdowns */
.bs-docs-example-submenus > .pull-left {
float: none;
clear: both;
}
.bs-docs-example-submenus > .pull-left,
.bs-docs-example-submenus > .pull-left + .pull-left {
margin-left: 0;
}
.bs-docs-example-submenus p {
margin-bottom: 0;
}
.bs-docs-example-submenus .dropup > .dropdown-menu,
.bs-docs-example-submenus .dropdown > .dropdown-menu {
margin-bottom: 10px;
float: none;
max-width: 180px;
}
/* Examples: modal */
.modal-example .modal { .modal-example .modal {
position: relative; position: relative;
top: auto; top: auto;
@@ -994,8 +1059,9 @@ form.bs-docs-example {
left: auto; left: auto;
} }
/* Unfloat the back to top in footer to prevent odd text wrapping */ /* Tighten up footer */
.footer .pull-right { .footer {
float: none; padding-top: 20px;
padding-bottom: 20px;
} }
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

+1 -1
View File
@@ -17,7 +17,7 @@ To target a specific plugin, just include the plugins name as a namespace along
--- ---
### PROGRAMATIC API ### PROGRAMMATIC API
We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API. We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API.
+12 -10
View File
@@ -14,12 +14,14 @@
}) })
// side bar // side bar
$('.bs-docs-sidenav').affix({ setTimeout(function () {
offset: { $('.bs-docs-sidenav').affix({
top: function () { return $window.width() <= 980 ? 290 : 210 } offset: {
, bottom: 270 top: function () { return $window.width() <= 980 ? 290 : 210 }
} , bottom: 270
}) }
})
}, 100)
// make code pretty // make code pretty
window.prettyPrint && prettyPrint() window.prettyPrint && prettyPrint()
@@ -34,21 +36,21 @@
// add tipsies to grid for scaffolding // add tipsies to grid for scaffolding
if ($('#gridSystem').length) { if ($('#gridSystem').length) {
$('#gridSystem').tooltip({ $('#gridSystem').tooltip({
selector: '.show-grid > div' selector: '.show-grid > div:not(.tooltip)'
, title: function () { return $(this).width() + 'px' } , title: function () { return $(this).width() + 'px' }
}) })
} }
// tooltip demo // tooltip demo
$('.tooltip-demo').tooltip({ $('.tooltip-demo').tooltip({
selector: "a[rel=tooltip]" selector: "a[data-toggle=tooltip]"
}) })
$('.tooltip-test').tooltip() $('.tooltip-test').tooltip()
$('.popover-test').popover() $('.popover-test').popover()
// popover demo // popover demo
$("a[rel=popover]") $("a[data-toggle=popover]")
.popover() .popover()
.click(function(e) { .click(function(e) {
e.preventDefault() e.preventDefault()
@@ -89,7 +91,7 @@
}) })
// request built javascript // request built javascript
$('.download-btn').on('click', function () { $('.download-btn .btn').on('click', function () {
var css = $("#components.download input:checked") var css = $("#components.download input:checked")
.map(function () { return this.value }) .map(function () { return this.value })
+12 -1
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.1.2 * bootstrap-affix.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -68,6 +68,8 @@
/* AFFIX PLUGIN DEFINITION /* AFFIX PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.affix
$.fn.affix = function (option) { $.fn.affix = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -85,6 +87,15 @@
} }
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API /* AFFIX DATA-API
* ============== */ * ============== */
+13 -4
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-alert.js v2.1.2 * bootstrap-alert.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -68,6 +68,8 @@
/* ALERT PLUGIN DEFINITION /* ALERT PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.alert
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -80,11 +82,18 @@
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API /* ALERT DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}(window.jQuery); }(window.jQuery);
+16 -7
View File
@@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-button.js v2.1.2 * bootstrap-button.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -64,6 +64,8 @@
/* BUTTON PLUGIN DEFINITION /* BUTTON PLUGIN DEFINITION
* ======================== */ * ======================== */
var old = $.fn.button
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -82,15 +84,22 @@
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API /* BUTTON DATA-API
* =============== */ * =============== */
$(function () { $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { var $btn = $(e.target)
var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') $btn.button('toggle')
$btn.button('toggle')
})
}) })
}(window.jQuery); }(window.jQuery);
+50 -20
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-carousel.js v2.1.2 * bootstrap-carousel.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -28,8 +28,8 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
@@ -45,13 +45,17 @@
return this 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) { , to: function (pos) {
var $active = this.$element.find('.item.active') var activeIndex = this.getActiveIndex()
, children = $active.parent().children()
, activePos = children.index($active)
, that = this , that = this
if (pos > (children.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) { if (this.sliding) {
return this.$element.one('slid', function () { return this.$element.one('slid', function () {
@@ -59,11 +63,11 @@
}) })
} }
if (activePos == pos) { if (activeIndex == pos) {
return this.pause().cycle() return this.pause().cycle()
} }
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
} }
, pause: function (e) { , pause: function (e) {
@@ -94,9 +98,7 @@
, direction = type == 'next' ? 'left' : 'right' , direction = type == 'next' ? 'left' : 'right'
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
, e = $.Event('slide', { , e
relatedTarget: $next[0]
})
this.sliding = true this.sliding = true
@@ -104,8 +106,21 @@
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
e = $.Event('slide', {
relatedTarget: $next[0]
, direction: direction
})
if ($next.hasClass('active')) return 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')) { if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
@@ -139,6 +154,8 @@
/* CAROUSEL PLUGIN DEFINITION /* CAROUSEL PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) { $.fn.carousel = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -148,7 +165,7 @@
if (!data) $this.data('carousel', (data = new Carousel(this, options))) if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option) if (typeof option == 'number') data.to(option)
else if (action) data[action]() else if (action) data[action]()
else if (options.interval) data.cycle() else if (options.interval) data.pause().cycle()
}) })
} }
@@ -160,17 +177,30 @@
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */
$(function () { $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { var $this = $(this), href
var $this = $(this), href , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , options = $.extend({}, $target.data(), $this.data())
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) , slideIndex
$target.carousel(options)
e.preventDefault() $target.carousel(options)
})
if (slideIndex = $this.attr('data-slide-to')) {
$target.data('carousel').pause().to(slideIndex).cycle()
}
e.preventDefault()
}) })
}(window.jQuery); }(window.jQuery);
+25 -16
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-collapse.js v2.1.2 * bootstrap-collapse.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -52,7 +52,7 @@
, actives , actives
, hasData , hasData
if (this.transitioning) return if (this.transitioning || this.$element.hasClass('in')) return
dimension = this.dimension() dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-')) scroll = $.camelCase(['scroll', dimension].join('-'))
@@ -120,14 +120,16 @@
} }
/* COLLAPSIBLE PLUGIN DEFINITION /* COLLAPSE PLUGIN DEFINITION
* ============================== */ * ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
, data = $this.data('collapse') , data = $this.data('collapse')
, options = typeof option == 'object' && option , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options))) if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -140,19 +142,26 @@
$.fn.collapse.Constructor = Collapse $.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API /* COLLAPSE NO CONFLICT
* ==================== */ * ==================== */
$(function () { $.fn.collapse.noConflict = function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { $.fn.collapse = old
var $this = $(this), href return this
, target = $this.attr('data-target') }
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() /* COLLAPSE DATA-API
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') * ================= */
$(target).collapse(option)
}) $(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); }(window.jQuery);
+31 -16
View File
@@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-dropdown.js v2.1.2 * bootstrap-dropdown.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -53,9 +53,10 @@
if (!isActive) { if (!isActive) {
$parent.toggleClass('open') $parent.toggleClass('open')
$this.focus()
} }
$this.focus()
return false return false
} }
@@ -80,9 +81,12 @@
isActive = $parent.hasClass('open') isActive = $parent.hasClass('open')
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) {
if (e.which == 27) $parent.find(toggle).focus()
return $this.click()
}
$items = $('[role=menu] li:not(.divider) a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return if (!$items.length) return
@@ -100,8 +104,9 @@
} }
function clearMenus() { function clearMenus() {
getParent($(toggle)) $(toggle).each(function () {
.removeClass('open') getParent($(this)).removeClass('open')
})
} }
function getParent($this) { function getParent($this) {
@@ -113,8 +118,9 @@
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
} }
$parent = $(selector) $parent = selector && $(selector)
$parent.length || ($parent = $this.parent())
if (!$parent || !$parent.length) $parent = $this.parent()
return $parent return $parent
} }
@@ -123,6 +129,8 @@
/* DROPDOWN PLUGIN DEFINITION /* DROPDOWN PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -135,16 +143,23 @@
$.fn.dropdown.Constructor = Dropdown $.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS /* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */ * =================================== */
$(function () { $(document)
$('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
$('body') .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
})
}(window.jQuery); }(window.jQuery);
+31 -22
View File
@@ -1,5 +1,5 @@
/* ========================================================= /* =========================================================
* bootstrap-modal.js v2.1.2 * bootstrap-modal.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -60,8 +60,7 @@
that.$element.appendTo(document.body) //don't move modals dom position that.$element.appendTo(document.body) //don't move modals dom position
} }
that.$element that.$element.show()
.show()
if (transition) { if (transition) {
that.$element[0].offsetWidth // force reflow that.$element[0].offsetWidth // force reflow
@@ -70,13 +69,12 @@
that.$element that.$element
.addClass('in') .addClass('in')
.attr('aria-hidden', false) .attr('aria-hidden', false)
.focus()
that.enforceFocus() that.enforceFocus()
transition ? transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
that.$element.trigger('shown') that.$element.focus().trigger('shown')
}) })
} }
@@ -163,9 +161,11 @@
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body) .appendTo(document.body)
if (this.options.backdrop != 'static') { this.$backdrop.click(
this.$backdrop.click($.proxy(this.hide, this)) this.options.backdrop == 'static' ?
} $.proxy(this.$element[0].focus, this.$element[0])
: $.proxy(this.hide, this)
)
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -192,6 +192,8 @@
/* MODAL PLUGIN DEFINITION /* MODAL PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -212,24 +214,31 @@
$.fn.modal.Constructor = Modal $.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API /* MODAL DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { var $this = $(this)
var $this = $(this) , href = $this.attr('href')
, href = $this.attr('href') , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
, $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())
, option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault() e.preventDefault()
$target $target
.modal(option) .modal(option)
.one('hide', function () { .one('hide', function () {
$this.focus() $this.focus()
}) })
})
}) })
}(window.jQuery); }(window.jQuery);
+14 -3
View File
@@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-popover.js v2.1.2 * bootstrap-popover.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -44,7 +44,7 @@
, content = this.getContent() , content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
} }
@@ -81,6 +81,8 @@
/* POPOVER PLUGIN DEFINITION /* POPOVER PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.popover
$.fn.popover = function (option) { $.fn.popover = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -97,7 +99,16 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
}) })
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery); }(window.jQuery);
+13 -2
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-scrollspy.js v2.1.2 * bootstrap-scrollspy.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -59,7 +59,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top, href ]] ) || null && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@@ -121,6 +121,8 @@
/* SCROLLSPY PLUGIN DEFINITION /* SCROLLSPY PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) { $.fn.scrollspy = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -138,6 +140,15 @@
} }
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API /* SCROLLSPY DATA-API
* ================== */ * ================== */
+16 -7
View File
@@ -1,5 +1,5 @@
/* ======================================================== /* ========================================================
* bootstrap-tab.js v2.1.2 * bootstrap-tab.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -49,7 +49,7 @@
if ( $this.parent('li').hasClass('active') ) return if ( $this.parent('li').hasClass('active') ) return
previous = $ul.find('.active a').last()[0] previous = $ul.find('.active:last a')[0]
e = $.Event('show', { e = $.Event('show', {
relatedTarget: previous relatedTarget: previous
@@ -110,6 +110,8 @@
/* TAB PLUGIN DEFINITION /* TAB PLUGIN DEFINITION
* ===================== */ * ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) { $.fn.tab = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -122,14 +124,21 @@
$.fn.tab.Constructor = Tab $.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API /* TAB DATA-API
* ============ */ * ============ */
$(function () { $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { e.preventDefault()
e.preventDefault() $(this).tab('show')
$(this).tab('show')
})
}) })
}(window.jQuery); }(window.jQuery);
+57 -26
View File
@@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-tooltip.js v2.1.2 * bootstrap-tooltip.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@@ -38,19 +38,27 @@
, init: function (type, element, options) { , init: function (type, element, options) {
var eventIn var eventIn
, eventOut , eventOut
, triggers
, trigger
, i
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.enabled = true this.enabled = true
if (this.options.trigger == 'click') { triggers = this.options.trigger.split(' ')
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (this.options.trigger != 'manual') { for (i = triggers.length; i--;) {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' trigger = triggers[i]
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' if (trigger == 'click') {
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, 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.selector ?
@@ -97,14 +105,16 @@
, show: function () { , show: function () {
var $tip var $tip
, inside
, pos , pos
, actualWidth , actualWidth
, actualHeight , actualHeight
, placement , placement
, tp , tp
, e = $.Event('show')
if (this.hasContent() && this.enabled) { if (this.hasContent() && this.enabled) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip = this.tip() $tip = this.tip()
this.setContent() this.setContent()
@@ -116,19 +126,18 @@
this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement this.options.placement
inside = /in/.test(placement)
$tip $tip
.remove() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.insertAfter(this.$element)
pos = this.getPosition(inside) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
pos = this.getPosition()
actualWidth = $tip[0].offsetWidth actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) { switch (placement) {
case 'bottom': case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break break
@@ -147,6 +156,8 @@
.offset(tp) .offset(tp)
.addClass(placement) .addClass(placement)
.addClass('in') .addClass('in')
this.$element.trigger('shown')
} }
} }
@@ -161,23 +172,29 @@
, hide: function () { , hide: function () {
var that = this var that = this
, $tip = this.tip() , $tip = this.tip()
, e = $.Event('hide')
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip.removeClass('in') $tip.removeClass('in')
function removeWithAnimation() { function removeWithAnimation() {
var timeout = setTimeout(function () { var timeout = setTimeout(function () {
$tip.off($.support.transition.end).remove() $tip.off($.support.transition.end).detach()
}, 500) }, 500)
$tip.one($.support.transition.end, function () { $tip.one($.support.transition.end, function () {
clearTimeout(timeout) clearTimeout(timeout)
$tip.remove() $tip.detach()
}) })
} }
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() : removeWithAnimation() :
$tip.remove() $tip.detach()
this.$element.trigger('hidden')
return this return this
} }
@@ -193,11 +210,12 @@
return this.getTitle() return this.getTitle()
} }
, getPosition: function (inside) { , getPosition: function () {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { var el = this.$element[0]
width: this.$element[0].offsetWidth return $.extend({}, el.getBoundingClientRect ? el.getBoundingClientRect() : {
, height: this.$element[0].offsetHeight width: el.offsetWidth
}) , height: el.offsetHeight
}, this.$element.offset())
} }
, getTitle: function () { , getTitle: function () {
@@ -235,8 +253,9 @@
this.enabled = !this.enabled this.enabled = !this.enabled
} }
, toggle: function () { , toggle: function (e) {
this[this.tip().hasClass('in') ? 'hide' : 'show']() var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
self.tip().hasClass('in') ? self.hide() : self.show()
} }
, destroy: function () { , destroy: function () {
@@ -249,6 +268,8 @@
/* TOOLTIP PLUGIN DEFINITION /* TOOLTIP PLUGIN DEFINITION
* ========================= */ * ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) { $.fn.tooltip = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -266,10 +287,20 @@
, placement: 'top' , placement: 'top'
, selector: false , selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
, trigger: 'hover' , trigger: 'hover focus'
, title: '' , title: ''
, delay: 0 , delay: 0
, html: false , html: false
, container: false
}
/* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
} }
}(window.jQuery); }(window.jQuery);
+1 -1
View File
@@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.1.2 * bootstrap-transition.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
+46 -19
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-typeahead.js v2.1.2 * bootstrap-typeahead.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -33,8 +33,8 @@
this.sorter = this.options.sorter || this.sorter this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false this.shown = false
this.listen() this.listen()
} }
@@ -56,16 +56,18 @@
} }
, show: function () { , show: function () {
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight height: this.$element[0].offsetHeight
}) })
this.$menu.css({ this.$menu
top: pos.top + pos.height .insertAfter(this.$element)
, left: pos.left .css({
}) top: pos.top + pos.height
, left: pos.left
})
.show()
this.$menu.show()
this.shown = true this.shown = true
return this return this
} }
@@ -170,6 +172,7 @@
, listen: function () { , listen: function () {
this.$element this.$element
.on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this)) .on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this)) .on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this)) .on('keyup', $.proxy(this.keyup, this))
@@ -181,6 +184,7 @@
this.$menu this.$menu
.on('click', $.proxy(this.click, this)) .on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
} }
, eventSupported: function(eventName) { , eventSupported: function(eventName) {
@@ -217,7 +221,7 @@
} }
, keydown: function (e) { , keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e) this.move(e)
} }
@@ -230,6 +234,9 @@
switch(e.keyCode) { switch(e.keyCode) {
case 40: // down arrow case 40: // down arrow
case 38: // up arrow case 38: // up arrow
case 16: // shift
case 17: // ctrl
case 18: // alt
break break
case 9: // tab case 9: // tab
@@ -251,28 +258,41 @@
e.preventDefault() e.preventDefault()
} }
, focus: function (e) {
this.focused = true
}
, blur: function (e) { , blur: function (e) {
var that = this this.focused = false
setTimeout(function () { that.hide() }, 150) if (!this.mousedover && this.shown) this.hide()
} }
, click: function (e) { , click: function (e) {
e.stopPropagation() e.stopPropagation()
e.preventDefault() e.preventDefault()
this.select() this.select()
this.$element.focus()
} }
, mouseenter: function (e) { , mouseenter: function (e) {
this.mousedover = true
this.$menu.find('.active').removeClass('active') this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active') $(e.currentTarget).addClass('active')
} }
, mouseleave: function (e) {
this.mousedover = false
if (!this.focused && this.shown) this.hide()
}
} }
/* TYPEAHEAD PLUGIN DEFINITION /* TYPEAHEAD PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) { $.fn.typeahead = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -294,16 +314,23 @@
$.fn.typeahead.Constructor = Typeahead $.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD DATA-API /* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API
* ================== */ * ================== */
$(function () { $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { var $this = $(this)
var $this = $(this) if ($this.data('typeahead')) return
if ($this.data('typeahead')) return e.preventDefault()
e.preventDefault() $this.typeahead($this.data())
$this.typeahead($this.data())
})
}) })
}(window.jQuery); }(window.jQuery);
+329 -146
View File
@@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.1.2 * bootstrap-transition.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -58,7 +58,7 @@
}) })
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-alert.js v2.1.2 * bootstrap-alert.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -127,6 +127,8 @@
/* ALERT PLUGIN DEFINITION /* ALERT PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.alert
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -139,15 +141,22 @@
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API /* ALERT DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}(window.jQuery);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-button.js v2.1.2 * bootstrap-button.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -212,6 +221,8 @@
/* BUTTON PLUGIN DEFINITION /* BUTTON PLUGIN DEFINITION
* ======================== */ * ======================== */
var old = $.fn.button
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -230,19 +241,26 @@
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API /* BUTTON DATA-API
* =============== */ * =============== */
$(function () { $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { var $btn = $(e.target)
var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') $btn.button('toggle')
$btn.button('toggle')
})
}) })
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-carousel.js v2.1.2 * bootstrap-carousel.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -271,8 +289,8 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
@@ -288,13 +306,17 @@
return this 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) { , to: function (pos) {
var $active = this.$element.find('.item.active') var activeIndex = this.getActiveIndex()
, children = $active.parent().children()
, activePos = children.index($active)
, that = this , that = this
if (pos > (children.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) { if (this.sliding) {
return this.$element.one('slid', function () { return this.$element.one('slid', function () {
@@ -302,11 +324,11 @@
}) })
} }
if (activePos == pos) { if (activeIndex == pos) {
return this.pause().cycle() return this.pause().cycle()
} }
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
} }
, pause: function (e) { , pause: function (e) {
@@ -337,9 +359,7 @@
, direction = type == 'next' ? 'left' : 'right' , direction = type == 'next' ? 'left' : 'right'
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
, e = $.Event('slide', { , e
relatedTarget: $next[0]
})
this.sliding = true this.sliding = true
@@ -347,8 +367,21 @@
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
e = $.Event('slide', {
relatedTarget: $next[0]
, direction: direction
})
if ($next.hasClass('active')) return 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')) { if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
@@ -382,6 +415,8 @@
/* CAROUSEL PLUGIN DEFINITION /* CAROUSEL PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) { $.fn.carousel = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -391,7 +426,7 @@
if (!data) $this.data('carousel', (data = new Carousel(this, options))) if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option) if (typeof option == 'number') data.to(option)
else if (action) data[action]() else if (action) data[action]()
else if (options.interval) data.cycle() else if (options.interval) data.pause().cycle()
}) })
} }
@@ -403,21 +438,34 @@
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */
$(function () { $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { var $this = $(this), href
var $this = $(this), href , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , options = $.extend({}, $target.data(), $this.data())
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) , slideIndex
$target.carousel(options)
e.preventDefault() $target.carousel(options)
})
if (slideIndex = $this.attr('data-slide-to')) {
$target.data('carousel').pause().to(slideIndex).cycle()
}
e.preventDefault()
}) })
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-collapse.js v2.1.2 * bootstrap-collapse.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -470,7 +518,7 @@
, actives , actives
, hasData , hasData
if (this.transitioning) return if (this.transitioning || this.$element.hasClass('in')) return
dimension = this.dimension() dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-')) scroll = $.camelCase(['scroll', dimension].join('-'))
@@ -538,14 +586,16 @@
} }
/* COLLAPSIBLE PLUGIN DEFINITION /* COLLAPSE PLUGIN DEFINITION
* ============================== */ * ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
, data = $this.data('collapse') , data = $this.data('collapse')
, options = typeof option == 'object' && option , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options))) if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -558,23 +608,30 @@
$.fn.collapse.Constructor = Collapse $.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API /* COLLAPSE NO CONFLICT
* ==================== */ * ==================== */
$(function () { $.fn.collapse.noConflict = function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { $.fn.collapse = old
var $this = $(this), href return this
, target = $this.attr('data-target') }
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() /* COLLAPSE DATA-API
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') * ================= */
$(target).collapse(option)
}) $(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);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-dropdown.js v2.1.2 * bootstrap-dropdown.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -628,9 +685,10 @@
if (!isActive) { if (!isActive) {
$parent.toggleClass('open') $parent.toggleClass('open')
$this.focus()
} }
$this.focus()
return false return false
} }
@@ -655,9 +713,12 @@
isActive = $parent.hasClass('open') isActive = $parent.hasClass('open')
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) {
if (e.which == 27) $parent.find(toggle).focus()
return $this.click()
}
$items = $('[role=menu] li:not(.divider) a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return if (!$items.length) return
@@ -675,8 +736,9 @@
} }
function clearMenus() { function clearMenus() {
getParent($(toggle)) $(toggle).each(function () {
.removeClass('open') getParent($(this)).removeClass('open')
})
} }
function getParent($this) { function getParent($this) {
@@ -688,8 +750,9 @@
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
} }
$parent = $(selector) $parent = selector && $(selector)
$parent.length || ($parent = $this.parent())
if (!$parent || !$parent.length) $parent = $this.parent()
return $parent return $parent
} }
@@ -698,6 +761,8 @@
/* DROPDOWN PLUGIN DEFINITION /* DROPDOWN PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -710,20 +775,27 @@
$.fn.dropdown.Constructor = Dropdown $.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS /* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */ * =================================== */
$(function () { $(document)
$('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
$('body') .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
})
}(window.jQuery);/* ========================================================= }(window.jQuery);/* =========================================================
* bootstrap-modal.js v2.1.2 * bootstrap-modal.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -784,8 +856,7 @@
that.$element.appendTo(document.body) //don't move modals dom position that.$element.appendTo(document.body) //don't move modals dom position
} }
that.$element that.$element.show()
.show()
if (transition) { if (transition) {
that.$element[0].offsetWidth // force reflow that.$element[0].offsetWidth // force reflow
@@ -794,13 +865,12 @@
that.$element that.$element
.addClass('in') .addClass('in')
.attr('aria-hidden', false) .attr('aria-hidden', false)
.focus()
that.enforceFocus() that.enforceFocus()
transition ? transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
that.$element.trigger('shown') that.$element.focus().trigger('shown')
}) })
} }
@@ -887,9 +957,11 @@
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body) .appendTo(document.body)
if (this.options.backdrop != 'static') { this.$backdrop.click(
this.$backdrop.click($.proxy(this.hide, this)) this.options.backdrop == 'static' ?
} $.proxy(this.$element[0].focus, this.$element[0])
: $.proxy(this.hide, this)
)
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -916,6 +988,8 @@
/* MODAL PLUGIN DEFINITION /* MODAL PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -936,28 +1010,36 @@
$.fn.modal.Constructor = Modal $.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API /* MODAL DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { var $this = $(this)
var $this = $(this) , href = $this.attr('href')
, href = $this.attr('href') , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
, $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())
, option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault() e.preventDefault()
$target $target
.modal(option) .modal(option)
.one('hide', function () { .one('hide', function () {
$this.focus() $this.focus()
}) })
})
}) })
}(window.jQuery);/* =========================================================== }(window.jQuery);
* bootstrap-tooltip.js v2.1.2 /* ===========================================================
* bootstrap-tooltip.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@@ -996,19 +1078,27 @@
, init: function (type, element, options) { , init: function (type, element, options) {
var eventIn var eventIn
, eventOut , eventOut
, triggers
, trigger
, i
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.enabled = true this.enabled = true
if (this.options.trigger == 'click') { triggers = this.options.trigger.split(' ')
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (this.options.trigger != 'manual') { for (i = triggers.length; i--;) {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' trigger = triggers[i]
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' if (trigger == 'click') {
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, 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.selector ?
@@ -1055,14 +1145,16 @@
, show: function () { , show: function () {
var $tip var $tip
, inside
, pos , pos
, actualWidth , actualWidth
, actualHeight , actualHeight
, placement , placement
, tp , tp
, e = $.Event('show')
if (this.hasContent() && this.enabled) { if (this.hasContent() && this.enabled) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip = this.tip() $tip = this.tip()
this.setContent() this.setContent()
@@ -1074,19 +1166,18 @@
this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement this.options.placement
inside = /in/.test(placement)
$tip $tip
.remove() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.insertAfter(this.$element)
pos = this.getPosition(inside) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
pos = this.getPosition()
actualWidth = $tip[0].offsetWidth actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) { switch (placement) {
case 'bottom': case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break break
@@ -1105,6 +1196,8 @@
.offset(tp) .offset(tp)
.addClass(placement) .addClass(placement)
.addClass('in') .addClass('in')
this.$element.trigger('shown')
} }
} }
@@ -1119,23 +1212,29 @@
, hide: function () { , hide: function () {
var that = this var that = this
, $tip = this.tip() , $tip = this.tip()
, e = $.Event('hide')
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip.removeClass('in') $tip.removeClass('in')
function removeWithAnimation() { function removeWithAnimation() {
var timeout = setTimeout(function () { var timeout = setTimeout(function () {
$tip.off($.support.transition.end).remove() $tip.off($.support.transition.end).detach()
}, 500) }, 500)
$tip.one($.support.transition.end, function () { $tip.one($.support.transition.end, function () {
clearTimeout(timeout) clearTimeout(timeout)
$tip.remove() $tip.detach()
}) })
} }
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() : removeWithAnimation() :
$tip.remove() $tip.detach()
this.$element.trigger('hidden')
return this return this
} }
@@ -1151,11 +1250,12 @@
return this.getTitle() return this.getTitle()
} }
, getPosition: function (inside) { , getPosition: function () {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { var el = this.$element[0]
width: this.$element[0].offsetWidth return $.extend({}, el.getBoundingClientRect ? el.getBoundingClientRect() : {
, height: this.$element[0].offsetHeight width: el.offsetWidth
}) , height: el.offsetHeight
}, this.$element.offset())
} }
, getTitle: function () { , getTitle: function () {
@@ -1193,8 +1293,9 @@
this.enabled = !this.enabled this.enabled = !this.enabled
} }
, toggle: function () { , toggle: function (e) {
this[this.tip().hasClass('in') ? 'hide' : 'show']() var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
self.tip().hasClass('in') ? self.hide() : self.show()
} }
, destroy: function () { , destroy: function () {
@@ -1207,6 +1308,8 @@
/* TOOLTIP PLUGIN DEFINITION /* TOOLTIP PLUGIN DEFINITION
* ========================= */ * ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) { $.fn.tooltip = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -1224,14 +1327,25 @@
, placement: 'top' , placement: 'top'
, selector: false , selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
, trigger: 'hover' , trigger: 'hover focus'
, title: '' , title: ''
, delay: 0 , delay: 0
, html: false , html: false
, container: false
} }
}(window.jQuery);/* ===========================================================
* bootstrap-popover.js v2.1.2 /* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(window.jQuery);
/* ===========================================================
* bootstrap-popover.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1276,7 +1390,7 @@
, content = this.getContent() , content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
} }
@@ -1313,6 +1427,8 @@
/* POPOVER PLUGIN DEFINITION /* POPOVER PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.popover
$.fn.popover = function (option) { $.fn.popover = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -1329,11 +1445,20 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
}) })
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-scrollspy.js v2.1.2 * bootstrap-scrollspy.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1393,7 +1518,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top, href ]] ) || null && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@@ -1455,6 +1580,8 @@
/* SCROLLSPY PLUGIN DEFINITION /* SCROLLSPY PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) { $.fn.scrollspy = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -1472,6 +1599,15 @@
} }
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API /* SCROLLSPY DATA-API
* ================== */ * ================== */
@@ -1483,7 +1619,7 @@
}) })
}(window.jQuery);/* ======================================================== }(window.jQuery);/* ========================================================
* bootstrap-tab.js v2.1.2 * bootstrap-tab.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1533,7 +1669,7 @@
if ( $this.parent('li').hasClass('active') ) return if ( $this.parent('li').hasClass('active') ) return
previous = $ul.find('.active a').last()[0] previous = $ul.find('.active:last a')[0]
e = $.Event('show', { e = $.Event('show', {
relatedTarget: previous relatedTarget: previous
@@ -1594,6 +1730,8 @@
/* TAB PLUGIN DEFINITION /* TAB PLUGIN DEFINITION
* ===================== */ * ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) { $.fn.tab = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -1606,18 +1744,25 @@
$.fn.tab.Constructor = Tab $.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API /* TAB DATA-API
* ============ */ * ============ */
$(function () { $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { e.preventDefault()
e.preventDefault() $(this).tab('show')
$(this).tab('show')
})
}) })
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-typeahead.js v2.1.2 * bootstrap-typeahead.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1651,8 +1796,8 @@
this.sorter = this.options.sorter || this.sorter this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false this.shown = false
this.listen() this.listen()
} }
@@ -1674,16 +1819,18 @@
} }
, show: function () { , show: function () {
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight height: this.$element[0].offsetHeight
}) })
this.$menu.css({ this.$menu
top: pos.top + pos.height .insertAfter(this.$element)
, left: pos.left .css({
}) top: pos.top + pos.height
, left: pos.left
})
.show()
this.$menu.show()
this.shown = true this.shown = true
return this return this
} }
@@ -1788,6 +1935,7 @@
, listen: function () { , listen: function () {
this.$element this.$element
.on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this)) .on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this)) .on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this)) .on('keyup', $.proxy(this.keyup, this))
@@ -1799,6 +1947,7 @@
this.$menu this.$menu
.on('click', $.proxy(this.click, this)) .on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
} }
, eventSupported: function(eventName) { , eventSupported: function(eventName) {
@@ -1835,7 +1984,7 @@
} }
, keydown: function (e) { , keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e) this.move(e)
} }
@@ -1848,6 +1997,9 @@
switch(e.keyCode) { switch(e.keyCode) {
case 40: // down arrow case 40: // down arrow
case 38: // up arrow case 38: // up arrow
case 16: // shift
case 17: // ctrl
case 18: // alt
break break
case 9: // tab case 9: // tab
@@ -1869,28 +2021,41 @@
e.preventDefault() e.preventDefault()
} }
, focus: function (e) {
this.focused = true
}
, blur: function (e) { , blur: function (e) {
var that = this this.focused = false
setTimeout(function () { that.hide() }, 150) if (!this.mousedover && this.shown) this.hide()
} }
, click: function (e) { , click: function (e) {
e.stopPropagation() e.stopPropagation()
e.preventDefault() e.preventDefault()
this.select() this.select()
this.$element.focus()
} }
, mouseenter: function (e) { , mouseenter: function (e) {
this.mousedover = true
this.$menu.find('.active').removeClass('active') this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active') $(e.currentTarget).addClass('active')
} }
, mouseleave: function (e) {
this.mousedover = false
if (!this.focused && this.shown) this.hide()
}
} }
/* TYPEAHEAD PLUGIN DEFINITION /* TYPEAHEAD PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) { $.fn.typeahead = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -1912,21 +2077,28 @@
$.fn.typeahead.Constructor = Typeahead $.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD DATA-API /* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API
* ================== */ * ================== */
$(function () { $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { var $this = $(this)
var $this = $(this) if ($this.data('typeahead')) return
if ($this.data('typeahead')) return e.preventDefault()
e.preventDefault() $this.typeahead($this.data())
$this.typeahead($this.data())
})
}) })
}(window.jQuery); }(window.jQuery);
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.1.2 * bootstrap-affix.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1995,6 +2167,8 @@
/* AFFIX PLUGIN DEFINITION /* AFFIX PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.affix
$.fn.affix = function (option) { $.fn.affix = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -2012,6 +2186,15 @@
} }
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API /* AFFIX DATA-API
* ============== */ * ============== */
+2 -2
View File
File diff suppressed because one or more lines are too long
+342
View File
@@ -0,0 +1,342 @@
/*
Holder - 1.6 - client side image placeholders
(c) 2012 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}
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;
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 sans-serif";
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);
}
ctx.font = "bold " + (text_height * ratio) + "px sans-serif";
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;
var dimensions_caption = dimensions.width + "x" + dimensions.height;
theme = (text ? extend(theme, {
text: text
}) : 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);
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("table");
fluid.setAttribute("cellspacing",0)
fluid.setAttribute("cellpadding",0)
fluid.setAttribute("border",0)
var row = document.createElement("tr")
.appendChild(document.createElement("td")
.appendChild(document.createTextNode(theme.text)));
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;
var frag = document.createDocumentFragment(),
tbody = document.createElement("tbody"),
tr = document.createElement("tr"),
td = document.createElement("td");
tr.appendChild(td);
tbody.appendChild(tr);
frag.appendChild(tbody);
if (theme.text) {
td.appendChild(document.createTextNode(theme.text))
fluid.appendChild(frag);
} else {
td.appendChild(document.createTextNode(dimensions_caption))
fluid.appendChild(frag);
fluid_images.push(fluid);
setTimeout(fluid_update, 0);
}
el.parentNode.replaceChild(fluid, el);
}
function fluid_update() {
for (i in fluid_images) {
var el = fluid_images[i];
var label = el.getElementsByTagName("td")[0].firstChild;
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);
}
}
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",
elements: ".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;border-collapse:collapse;border:0;vertical-align:middle;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];
}
}
}
for (var flag in app.flags) {
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_nodes = selector(options.images),
elements = selector(options.elements),
preempted = true,
images = [];
for (i = 0, l = images_nodes.length; i < l; i++) images.push(images_nodes[i]);
var holdercss = document.createElement("style");
holdercss.type = "text/css";
holdercss.styleSheet ? holdercss.styleSheet.cssText = options.stylesheet : holdercss.textContent = options.stylesheet;
document.getElementsByTagName("head")[0].appendChild(holdercss);
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
for (var l = elements.length, i = 0; i < l; i++) {
var src = window.getComputedStyle(elements[i], null)
.getPropertyValue("background-image");
var flags = src.match(cssregex);
if (flags) {
var holder = parse_flags(flags[1].split("/"), options);
if (holder) {
render("background", elements[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();
});
})(Holder, window);
+135 -43
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Base · Twitter Bootstrap</title> <title>Base · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -192,7 +192,7 @@
<h2 id="abbreviations">Abbreviations</h2> <h2 id="abbreviations">Abbreviations</h2>
<p>Stylized implemenation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.</p> <p>Stylized implementation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.</p>
<h3><code>&lt;abbr&gt;</code></h3> <h3><code>&lt;abbr&gt;</code></h3>
<p>For expanded text on long hover of an abbreviation, include the <code>title</code> attribute.</p> <p>For expanded text on long hover of an abbreviation, include the <code>title</code> attribute.</p>
@@ -226,7 +226,7 @@
</address> </address>
<address> <address>
<strong>Full Name</strong><br> <strong>Full Name</strong><br>
<a href="mailto:#">first.last@gmail.com</a> <a href="mailto:#">first.last@example.com</a>
</address> </address>
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@@ -239,7 +239,7 @@
&lt;address&gt; &lt;address&gt;
&lt;strong&gt;Full Name&lt;/strong&gt;&lt;br&gt; &lt;strong&gt;Full Name&lt;/strong&gt;&lt;br&gt;
&lt;a href="mailto:#"&gt;first.last@gmail.com&lt;/a&gt; &lt;a href="mailto:#"&gt;first.last@example.com&lt;/a&gt;
&lt;/address&gt; &lt;/address&gt;
</pre> </pre>
@@ -350,7 +350,7 @@
</pre> </pre>
<h3>Unstyled</h3> <h3>Unstyled</h3>
<p>A list of items with no <code>list-style</code> or additional left padding.</p> <p>Remove the default <code>list-style</code> and left padding on list items (immediate children only).</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul class="unstyled"> <ul class="unstyled">
<li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li>
@@ -374,6 +374,21 @@
&lt;ul class="unstyled"&gt; &lt;ul class="unstyled"&gt;
&lt;li&gt;...&lt;/li&gt; &lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt; &lt;/ul&gt;
</pre>
<h3>Inline</h3>
<p>Place all list items on a single line with <code>inline-block</code> and some light padding.</p>
<div class="bs-docs-example">
<ul class="inline">
<li>Lorem ipsum</li>
<li>Phasellus iaculis</li>
<li>Nulla volutpat</li>
</ul>
</div>
<pre class="prettyprint linenums">
&lt;ul class="inline"&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
</pre> </pre>
<h3>Description</h3> <h3>Description</h3>
@@ -438,7 +453,7 @@
For example, <code>&lt;section&gt;</code> should be wrapped as inline. For example, <code>&lt;section&gt;</code> should be wrapped as inline.
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inline. For example, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; should be wrapped as inline.
</pre> </pre>
<h2>Basic block</h2> <h2>Basic block</h2>
@@ -512,7 +527,7 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<p>Add any of the following classes to the <code>.table</code> base class.</p> <p>Add any of the following classes to the <code>.table</code> base class.</p>
<h3><code>.table-striped</code></h3> <h3><code>.table-striped</code></h3>
<p>Adds zebra-striping to any table row within the <code>&lt;tbody&gt;</code> via the <code>:nth-child</code> CSS selector (not available in IE7-IE8).</p> <p>Adds zebra-striping to any table row within the <code>&lt;tbody&gt;</code> via the <code>:nth-child</code> CSS selector (not available in IE7-8).</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
@@ -875,25 +890,29 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<h2>Default styles</h2> <h2>Default styles</h2>
<p>Individual form controls receive styling, but without any required base class on the <code>&lt;form&gt;</code> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.</p> <p>Individual form controls receive styling, but without any required base class on the <code>&lt;form&gt;</code> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.</p>
<form class="bs-docs-example"> <form class="bs-docs-example">
<legend>Legend</legend> <fieldset>
<label>Label name</label> <legend>Legend</legend>
<input type="text" placeholder="Type something…"> <label>Label name</label>
<span class="help-block">Example block-level help text here.</span> <input type="text" placeholder="Type something…">
<label class="checkbox"> <span class="help-block">Example block-level help text here.</span>
<input type="checkbox"> Check me out <label class="checkbox">
</label> <input type="checkbox"> Check me out
<button type="submit" class="btn">Submit</button> </label>
<button type="submit" class="btn">Submit</button>
</fieldset>
</form> </form>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;form&gt; &lt;form&gt;
&lt;legend&gt;Legend&lt;/legend&gt; &lt;fieldset&gt;
&lt;label&gt;Label name&lt;/label&gt; &lt;legend&gt;Legend&lt;/legend&gt;
&lt;input type="text" placeholder="Type something…"&gt; &lt;label&gt;Label name&lt;/label&gt;
&lt;span class="help-block"&gt;Example block-level help text here.&lt;/span&gt; &lt;input type="text" placeholder="Type something…"&gt;
&lt;label class="checkbox"&gt; &lt;span class="help-block"&gt;Example block-level help text here.&lt;/span&gt;
&lt;input type="checkbox"&gt; Check me out &lt;label class="checkbox"&gt;
&lt;/label&gt; &lt;input type="checkbox"&gt; Check me out
&lt;button type="submit" class="btn"&gt;Submit&lt;/button&gt; &lt;/label&gt;
&lt;button type="submit" class="btn"&gt;Submit&lt;/button&gt;
&lt;/fieldset&gt;
&lt;/form&gt; &lt;/form&gt;
</pre> </pre>
@@ -947,7 +966,6 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<li>Wrap any associated controls in <code>.controls</code> for proper alignment</li> <li>Wrap any associated controls in <code>.controls</code> for proper alignment</li>
</ul> </ul>
<form class="bs-docs-example form-horizontal"> <form class="bs-docs-example form-horizontal">
<legend>Legend</legend>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputEmail">Email</label> <label class="control-label" for="inputEmail">Email</label>
<div class="controls"> <div class="controls">
@@ -1305,6 +1323,54 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
&lt;/ul&gt; &lt;/ul&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre>
<h4>Segmented dropdown groups</h4>
<form class="bs-docs-example">
<div class="input-prepend">
<div class="btn-group">
<button class="btn" tabindex="-1">Action</button>
<button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1">
<span class="caret"></span>
</button>
<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><a href="#">Separated link</a></li>
</ul>
</div>
<input type="text">
</div>
<div class="input-append">
<input type="text">
<div class="btn-group">
<button class="btn" tabindex="-1">Action</button>
<button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1">
<span class="caret"></span>
</button>
<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><a href="#">Separated link</a></li>
</ul>
</div>
</div>
</form>
<pre class="prettyprint linenums">
&lt;form&gt;
&lt;div class="input-prepend"&gt;
&lt;div class="btn-group"&gt;...&lt;/div&gt;
&lt;input type="text"&gt;
&lt;/div&gt;
&lt;div class="input-append"&gt;
&lt;input type="text"&gt;
&lt;div class="btn-group"&gt;...&lt;/div&gt;
&lt;/div&gt;
&lt;/form&gt;
</pre> </pre>
<h4>Search form</h4> <h4>Search form</h4>
@@ -1334,6 +1400,17 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<h3>Control sizing</h3> <h3>Control sizing</h3>
<p>Use relative sizing classes like <code>.input-large</code> or match your inputs to the grid column sizes using <code>.span*</code> classes.</p> <p>Use relative sizing classes like <code>.input-large</code> or match your inputs to the grid column sizes using <code>.span*</code> classes.</p>
<h4>Block level inputs</h4>
<p>Make any <code>&lt;input&gt;</code> or <code>&lt;textarea&gt;</code> element behave like a block level element.</p>
<form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls">
<input class="input-block-level" type="text" placeholder=".input-block-level">
</div>
</form>
<pre class="prettyprint linenums">
&lt;input class="input-block-level" type="text" placeholder=".input-block-level"&gt;
</pre>
<h4>Relative sizing</h4> <h4>Relative sizing</h4>
<form class="bs-docs-example" style="padding-bottom: 15px;"> <form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls docs-input-sizes"> <div class="controls docs-input-sizes">
@@ -1402,7 +1479,7 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
&lt;/select&gt; &lt;/select&gt;
</pre> </pre>
<p>For multiple grid inputs per line, <strong>use the <code>.controls-row</code> modifier class for proper spacing</strong>. It floats the inputs to collapse white-space, sets the proper margins, and the clears the float.</p> <p>For multiple grid inputs per line, <strong>use the <code>.controls-row</code> modifier class for proper spacing</strong>. It floats the inputs to collapse white-space, sets the proper margins, and clears the float.</p>
<form class="bs-docs-example" style="padding-bottom: 15px;"> <form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls"> <div class="controls">
<input class="span5" type="text" placeholder=".span5"> <input class="span5" type="text" placeholder=".span5">
@@ -1492,6 +1569,15 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
</form> </form>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;input class="input-xlarge" id="focusedInput" type="text" value="This is focused..."&gt; &lt;input class="input-xlarge" id="focusedInput" type="text" value="This is focused..."&gt;
</pre>
<h3>Invalid inputs</h3>
<p>Style inputs via default browser functionality with <code>:invalid</code>. Specify a <code>type</code> and add the <code>required</code> attribute.</p>
<form class="bs-docs-example form-inline">
<input class="span3" type="email" placeholder="test@example.com" required>
</form>
<pre class="prettyprint linenums">
&lt;input class="span3" type="email" required&gt;
</pre> </pre>
<h3>Disabled inputs</h3> <h3>Disabled inputs</h3>
@@ -1739,9 +1825,9 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<p>Add classes to an <code>&lt;img&gt;</code> element to easily style images in any project.</p> <p>Add classes to an <code>&lt;img&gt;</code> element to easily style images in any project.</p>
<div class="bs-docs-example bs-docs-example-images"> <div class="bs-docs-example bs-docs-example-images">
<img src="http://placehold.it/140x140" class="img-rounded"> <img data-src="holder.js/140x140" class="img-rounded">
<img src="http://placehold.it/140x140" class="img-circle"> <img data-src="holder.js/140x140" class="img-circle">
<img src="http://placehold.it/140x140" class="img-polaroid"> <img data-src="holder.js/140x140" class="img-polaroid">
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;img src="..." class="img-rounded"&gt; &lt;img src="..." class="img-rounded"&gt;
@@ -1955,7 +2041,6 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-toolbar"&gt; &lt;div class="btn-toolbar"&gt;
&lt;div class="btn-group"&gt; &lt;div class="btn-group"&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-left"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-left"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-center"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-center"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-right"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-right"&gt;&lt;/i&gt;&lt;/a&gt;
@@ -1992,15 +2077,18 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h5>Small button</h5> <h5>Button sizes</h5>
<div class="bs-docs-example"> <div class="bs-docs-example">
<a class="btn btn-small" href="#"><i class="icon-star"></i></a> <a class="btn btn-large" href="#"><i class="icon-star"></i> Star</a>
<a class="btn btn-small" href="#"><i class="icon-star"></i> Star</a>
<a class="btn btn-mini" href="#"><i class="icon-star"></i> Star</a>
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;a class="btn btn-small" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn btn-large" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
&lt;a class="btn btn-small" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
&lt;a class="btn btn-mini" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
</pre> </pre>
<h4>Navigation</h4> <h4>Navigation</h4>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="well" style="padding: 8px 0; margin-bottom: 0;"> <div class="well" style="padding: 8px 0; margin-bottom: 0;">
@@ -2059,13 +2147,14 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -2078,7 +2167,6 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -2092,6 +2180,10 @@ For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inlin
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+1 -1
View File
@@ -2,7 +2,7 @@
var hogan = require('hogan.js') var hogan = require('hogan.js')
, fs = require('fs') , fs = require('fs')
, prod = process.argv[2] == 'production' , prod = process.argv[2] == 'production'
, title = 'Twitter Bootstrap' , title = 'Bootstrap'
var layout, pages var layout, pages
+103 -65
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Components · Twitter Bootstrap</title> <title>Components · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -165,26 +165,12 @@
<h3>Sub menus on dropdowns</h3> <h3>Sub menus on dropdowns</h3>
<p>Add an extra level of dropdown menus, appearing on hover like those of OS X, with some simple markup additions. Add <code>.dropdown-submenu</code> to any <code>li</code> in an existing dropdown menu for automatic styling.</p> <p>Add an extra level of dropdown menus, appearing on hover like those of OS X, with some simple markup additions. Add <code>.dropdown-submenu</code> to any <code>li</code> in an existing dropdown menu for automatic styling.</p>
<div class="bs-docs-example"> <div class="bs-docs-example bs-docs-example-submenus">
<div class="dropdown clearfix">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block; position: static; margin-bottom: 5px; *width: 180px;"> <div class="pull-left">
<li><a tabindex="-1" href="#">Action</a></li> <p class="muted">Default</p>
<li><a tabindex="-1" href="#">Another action</a></li> <div class="dropdown clearfix">
<li><a tabindex="-1" href="#">Something else here</a></li> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">More options</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
</ul>
</li>
</ul>
<div class="dropup" style="float: left; margin-left: 20px;">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block; position: static; margin-bottom: 5px; *width: 180px;">
<li><a tabindex="-1" href="#">Action</a></li> <li><a tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li><a tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li><a tabindex="-1" href="#">Something else here</a></li>
@@ -202,6 +188,51 @@
</ul> </ul>
</div> </div>
</div> </div>
<div class="pull-left">
<p class="muted">Dropup</p>
<div class="dropup">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">More options</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="pull-left">
<p class="muted">Left submenu</p>
<div class="dropdown">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-submenu pull-left">
<a tabindex="-1" href="#">More options</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
<li><a tabindex="-1" href="#">Second level link</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"&gt; &lt;ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"&gt;
@@ -688,7 +719,7 @@
</pre> </pre>
<h3>Disabled state</h3> <h3>Disabled state</h3>
<p>For any nav component (tabs, pills, or list), add <code>.disabled</code> for <strong>gray links and no hover effects</strong>. Links will remain clickable, however, unless custom JavaScript is implemented to prevent those clicks.</p> <p>For any nav component (tabs, pills, or list), add <code>.disabled</code> for <strong>gray links and no hover effects</strong>. Links will remain clickable, however, unless you remove the <code>href</code> attribute. Alternatively, you could implement custom JavaScript to prevent those clicks.</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li><a href="#">Clickable link</a></li> <li><a href="#">Clickable link</a></li>
@@ -1260,13 +1291,13 @@
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</a> </a>
<a class="brand" href="#">Title</a> <a class="brand" href="#">Title</a>
<div class="nav-collapse collapse"> <div class="nav-collapse collapse navbar-responsive-collapse">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
@@ -1344,13 +1375,13 @@
<div class="navbar navbar-inverse" style="position: static;"> <div class="navbar navbar-inverse" style="position: static;">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".subnav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-inverse-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</a> </a>
<a class="brand" href="#">Title</a> <a class="brand" href="#">Title</a>
<div class="nav-collapse collapse"> <div class="nav-collapse collapse navbar-inverse-collapse">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
@@ -1828,6 +1859,9 @@
</tbody> </tbody>
</table> </table>
<h3>Easily collapsible</h3>
<p>For easy implementation, labels and badges will simply collapse (via CSS's <code>:empty</code> selector) when no content exists within.</p>
</section> </section>
@@ -1890,22 +1924,22 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
</ul> </ul>
@@ -1917,7 +1951,7 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>Thumbnail label</h3> <h3>Thumbnail label</h3>
<p>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> <p>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>
@@ -1927,7 +1961,7 @@
</li> </li>
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>Thumbnail label</h3> <h3>Thumbnail label</h3>
<p>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> <p>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>
@@ -1937,7 +1971,7 @@
</li> </li>
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>Thumbnail label</h3> <h3>Thumbnail label</h3>
<p>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> <p>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>
@@ -1963,7 +1997,7 @@
&lt;ul class="thumbnails"&gt; &lt;ul class="thumbnails"&gt;
&lt;li class="span4"&gt; &lt;li class="span4"&gt;
&lt;a href="#" class="thumbnail"&gt; &lt;a href="#" class="thumbnail"&gt;
&lt;img src="http://placehold.it/300x200" alt=""&gt; &lt;img data-src="holder.js/300x200" alt=""&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;/li&gt; &lt;/li&gt;
... ...
@@ -1974,7 +2008,7 @@
&lt;ul class="thumbnails"&gt; &lt;ul class="thumbnails"&gt;
&lt;li class="span4"&gt; &lt;li class="span4"&gt;
&lt;div class="thumbnail"&gt; &lt;div class="thumbnail"&gt;
&lt;img src="http://placehold.it/300x200" alt=""&gt; &lt;img data-src="holder.js/300x200" alt=""&gt;
&lt;h3&gt;Thumbnail label&lt;/h3&gt; &lt;h3&gt;Thumbnail label&lt;/h3&gt;
&lt;p&gt;Thumbnail caption...&lt;/p&gt; &lt;p&gt;Thumbnail caption...&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
@@ -1988,27 +2022,27 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span4"> <li class="span4">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/360x270" alt=""> <img data-src="holder.js/360x270" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x120" alt=""> <img data-src="holder.js/260x120" alt="">
</a> </a>
</li> </li>
<li class="span2"> <li class="span2">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/160x120" alt=""> <img data-src="holder.js/160x120" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x120" alt=""> <img data-src="holder.js/260x120" alt="">
</a> </a>
</li> </li>
<li class="span2"> <li class="span2">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/160x120" alt=""> <img data-src="holder.js/160x120" alt="">
</a> </a>
</li> </li>
</ul> </ul>
@@ -2035,16 +2069,16 @@
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="alert"&gt; &lt;div class="alert"&gt;
&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt; &lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;
&lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you're not looking too good. &lt;strong&gt;Warning!&lt;/strong&gt; Best check yo self, you're not looking too good.
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>Dismiss buttons</h3> <h3>Dismiss buttons</h3>
<p>Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code>&lt;a&gt;</code> tag.</p> <p>Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code>&lt;a&gt;</code> tag.</p>
<pre class="prettyprint linenums">&lt;a href="#" class="close" data-dismiss="alert"&gt;&times;&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a href="#" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/a&gt;</pre>
<p>Alternatively, you may use a <code>&lt;button&gt;</code> element with the data attribute, which we have opted to do for our docs. When using <code>&lt;button&gt;</code>, you must include <code>type="button"</code> or your forms may not submit.</p> <p>Alternatively, you may use a <code>&lt;button&gt;</code> element with the data attribute, which we have opted to do for our docs. When using <code>&lt;button&gt;</code>, you must include <code>type="button"</code> or your forms may not submit.</p>
<pre class="prettyprint linenums">&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;</pre>
<h3>Dismiss alerts via JavaScript</h3> <h3>Dismiss alerts via JavaScript</h3>
<p>Use the <a href="./javascript.html#alerts">alerts jQuery plugin</a> for quick and easy dismissal of alerts.</p> <p>Use the <a href="./javascript.html#alerts">alerts jQuery plugin</a> for quick and easy dismissal of alerts.</p>
@@ -2064,7 +2098,7 @@
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="alert alert-block"&gt; &lt;div class="alert alert-block"&gt;
&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt; &lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;
&lt;h4&gt;Warning!&lt;/h4&gt; &lt;h4&gt;Warning!&lt;/h4&gt;
Best check yo self, you're not... Best check yo self, you're not...
&lt;/div&gt; &lt;/div&gt;
@@ -2280,7 +2314,7 @@
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Media heading</h4> <h4 class="media-heading">Media heading</h4>
@@ -2289,14 +2323,14 @@
</div> </div>
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Media heading</h4> <h4 class="media-heading">Media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Media heading</h4> <h4 class="media-heading">Media heading</h4>
@@ -2309,7 +2343,7 @@
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="media"&gt; &lt;div class="media"&gt;
&lt;a class="pull-left" href="#"&gt; &lt;a class="pull-left" href="#"&gt;
&lt;img class="media-object" src="http://placehold.it/64x64"&gt; &lt;img class="media-object" data-src="holder.js/64x64"&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;div class="media-body"&gt; &lt;div class="media-body"&gt;
&lt;h4 class="media-heading"&gt;Media heading&lt;/h4&gt; &lt;h4 class="media-heading"&gt;Media heading&lt;/h4&gt;
@@ -2333,7 +2367,7 @@
<ul class="media-list"> <ul class="media-list">
<li class="media"> <li class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Media heading</h4> <h4 class="media-heading">Media heading</h4>
@@ -2341,7 +2375,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Nested media heading</h4> <h4 class="media-heading">Nested media heading</h4>
@@ -2349,7 +2383,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Nested media heading</h4> <h4 class="media-heading">Nested media heading</h4>
@@ -2361,7 +2395,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Nested media heading</h4> <h4 class="media-heading">Nested media heading</h4>
@@ -2372,7 +2406,7 @@
</li> </li>
<li class="media"> <li class="media">
<a class="pull-right" href="#"> <a class="pull-right" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">Media heading</h4> <h4 class="media-heading">Media heading</h4>
@@ -2385,7 +2419,7 @@
&lt;ul class="media-list"&gt; &lt;ul class="media-list"&gt;
&lt;li class="media"&gt; &lt;li class="media"&gt;
&lt;a class="pull-left" href="#"&gt; &lt;a class="pull-left" href="#"&gt;
&lt;img class="media-object" src="http://placehold.it/64x64"&gt; &lt;img class="media-object" data-src="holder.js/64x64"&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;div class="media-body"&gt; &lt;div class="media-body"&gt;
&lt;h4 class="media-heading"&gt;Media heading&lt;/h4&gt; &lt;h4 class="media-heading"&gt;Media heading&lt;/h4&gt;
@@ -2454,7 +2488,7 @@
<p><button class="close" style="float: none;">&times;</button></p> <p><button class="close" style="float: none;">&times;</button></p>
</div> </div>
<pre class="prettyprint linenums">&lt;button class="close"&gt;&amp;times;&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button class="close"&gt;&amp;times;&lt;/button&gt;</pre>
<p>iOS devices require an href="#" for click events if you rather use an anchor.</p> <p>iOS devices require an <code>href="#"</code> for click events if you would rather use an anchor.</p>
<pre class="prettyprint linenums">&lt;a class="close" href="#"&gt;&amp;times;&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a class="close" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
<h2>Helper classes</h2> <h2>Helper classes</h2>
@@ -2527,13 +2561,14 @@ class="clearfix"
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -2546,7 +2581,6 @@ class="clearfix"
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -2560,6 +2594,10 @@ class="clearfix"
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+75 -35
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Customize · Twitter Bootstrap</title> <title>Customize · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -69,31 +69,35 @@
</div> </div>
</div> </div>
<!-- Customizer CSS --> <!-- Masthead
<link href="assets/css/docs-customizer.css" rel="stylesheet"> ================================================== -->
<header class="jumbotron subhead" id="overview">
<form> <div class="container">
<h1>Customize and download</h1>
<div class="bsc-sidebar"> <p class="lead"><a href="https://github.com/twitter/bootstrap/zipball/master">Download Bootstrap</a> or customize variables, components, JavaScript plugins, and more.</p>
<h3 class="bsc-heading">Bootjack</h3>
<ul class="bsc-accordion">
<li>
<input type="checkbox" checked> Scaffolding
</li>
</ul>
<div class="bsc-toolbar">
<div class="btn-group">
<button class="btn" type="button">Download</button>
<button class="btn" type="button">Reset</button>
</div>
</div>
</div> </div>
<div class="bsc-preview"> </header>
preview
<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 <!-- Customize form
================================================== --> ================================================== -->
<form>
<section class="download" id="components"> <section class="download" id="components">
<div class="page-header"> <div class="page-header">
<a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a> <a class="btn btn-small pull-right toggle-all" href="#">Toggle all</a>
@@ -129,6 +133,7 @@
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> Alerts</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="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="hero-unit.less"> Hero unit</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> Media component</label>
<h3>JS Components</h3> <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="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="popovers.less"> Popovers</label>
@@ -139,7 +144,6 @@
</div><!-- /span --> </div><!-- /span -->
<div class="span3"> <div class="span3">
<h3>Miscellaneous</h3> <h3>Miscellaneous</h3>
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> Media object</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> Wells</label> <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="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="utilities.less"> Utilities</label>
@@ -294,12 +298,14 @@
<input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif"> <input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif">
<label>@monoFontFamily</label> <label>@monoFontFamily</label>
<input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace"> <input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace">
<label>@baseFontSize</label> <label>@baseFontSize</label>
<input type="text" class="span3" placeholder="14px"> <input type="text" class="span3" placeholder="14px">
<label>@baseFontFamily</label> <label>@baseFontFamily</label>
<input type="text" class="span3" placeholder="@sansFontFamily"> <input type="text" class="span3" placeholder="@sansFontFamily">
<label>@baseLineHeight</label> <label>@baseLineHeight</label>
<input type="text" class="span3" placeholder="20px"> <input type="text" class="span3" placeholder="20px">
<label>@altFontFamily</label> <label>@altFontFamily</label>
<input type="text" class="span3" placeholder="@serifFontFamily"> <input type="text" class="span3" placeholder="@serifFontFamily">
<label>@headingsFontFamily</label> <label>@headingsFontFamily</label>
@@ -308,6 +314,28 @@
<input type="text" class="span3" placeholder="bold"> <input type="text" class="span3" placeholder="bold">
<label>@headingsColor</label> <label>@headingsColor</label>
<input type="text" class="span3" placeholder="inherit"> <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> <label>@heroUnitBackground</label>
<input type="text" class="span3" placeholder="@grayLighter"> <input type="text" class="span3" placeholder="@grayLighter">
<label>@heroUnitHeadingColor</label> <label>@heroUnitHeadingColor</label>
@@ -341,7 +369,7 @@
<label>@btnPrimaryBackground</label> <label>@btnPrimaryBackground</label>
<input type="text" class="span3" placeholder="@linkColor"> <input type="text" class="span3" placeholder="@linkColor">
<label>@btnPrimaryBackgroundHighlight</label> <label>@btnPrimaryBackgroundHighlight</label>
<input type="text" class="span3" placeholder="darken(@white, 10%);"> <input type="text" class="span3" placeholder="darken(@white, 10%)">
</div><!-- /span --> </div><!-- /span -->
<div class="span3"> <div class="span3">
@@ -394,6 +422,11 @@
<label>@navbarSearchPlaceholderColor</label> <label>@navbarSearchPlaceholderColor</label>
<input type="text" class="span3" placeholder="#ccc"> <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> <h3>Dropdowns</h3>
<label>@dropdownBackground</label> <label>@dropdownBackground</label>
<input type="text" class="span3" placeholder="@white"> <input type="text" class="span3" placeholder="@white">
@@ -421,25 +454,29 @@
<p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p> <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> </div>
</section><!-- /download --> </section><!-- /download -->
</form>
</div>
</div>
</div> </div>
</form>
<!-- Footer <!-- Footer
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -452,7 +489,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -466,6 +502,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+453
View File
@@ -0,0 +1,453 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Carousel Template &middot; 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 NAVBAR
-------------------------------------------------- */
/* 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;
}
.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="http://html5shim.googlecode.com/svn/trunk/html5.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. -->
<a 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>
</a>
<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://twitter.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">&lsaquo;</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</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 &raquo;</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 &raquo;</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 &raquo;</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>&copy; 2012 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <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>
+3 -3
View File
@@ -26,11 +26,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+3 -3
View File
@@ -23,11 +23,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+174
View File
@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Template &middot; 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="http://html5shim.googlecode.com/svn/trunk/html5.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 &raquo;</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 &raquo;</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 &raquo;</a></p>
</div>
</div>
<hr>
<div class="footer">
<p>&copy; Company 2012</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>
+3 -3
View File
@@ -54,11 +54,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+3 -3
View File
@@ -50,11 +50,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+3 -3
View File
@@ -22,11 +22,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+3 -3
View File
@@ -71,11 +71,11 @@
<![endif]--> <![endif]-->
<!-- Fav and touch icons --> <!-- Fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="../assets/ico/favicon.png">
</head> </head>
<body> <body>
+15 -11
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Extend · Twitter Bootstrap</title> <title>Extend · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -245,13 +245,14 @@
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -264,7 +265,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -278,6 +278,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+33 -24
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Getting · Twitter Bootstrap</title> <title>Getting · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -198,7 +198,7 @@
<div class="page-header"> <div class="page-header">
<h1>4. Basic HTML template</h1> <h1>4. Basic HTML template</h1>
</div> </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="#file-structure">File structure</a>.</p> <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> <p>Now, here's a look at a <strong>typical HTML file</strong>:</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;!DOCTYPE html&gt; &lt;!DOCTYPE html&gt;
@@ -241,27 +241,27 @@
</div> </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> <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"> <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"> <li class="span3">
<a class="thumbnail" href="examples/hero.html"> <a class="thumbnail" href="examples/hero.html">
<img src="assets/img/examples/bootstrap-example-hero.jpg" alt=""> <img src="assets/img/examples/bootstrap-example-marketing.png" alt="">
</a> </a>
<h4>Basic marketing site</h4> <h4>Basic marketing site</h4>
<p>Featuring a hero unit for a primary message and three supporting elements.</p> <p>Featuring a hero unit for a primary message and three supporting elements.</p>
</li> </li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/fluid.html"> <a class="thumbnail" href="examples/fluid.html">
<img src="assets/img/examples/bootstrap-example-fluid.jpg" alt=""> <img src="assets/img/examples/bootstrap-example-fluid.png" alt="">
</a> </a>
<h4>Fluid layout</h4> <h4>Fluid layout</h4>
<p>Uses our new responsive, fluid grid system to create a seamless liquid layout.</p> <p>Uses our new responsive, fluid grid system to create a seamless liquid layout.</p>
</li> </li>
<li class="span3">
<a class="thumbnail" href="examples/starter-template.html">
<img src="assets/img/examples/bootstrap-example-starter.jpg" alt="">
</a>
<h4>Starter template</h4>
<p>A barebones HTML document with all the Bootstrap CSS and JavaScript included.</p>
</li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/marketing-narrow.html"> <a class="thumbnail" href="examples/marketing-narrow.html">
@@ -270,6 +270,13 @@
<h4>Narrow marketing</h4> <h4>Narrow marketing</h4>
<p>Slim, lightweight marketing template for small projects or teams.</p> <p>Slim, lightweight marketing template for small projects or teams.</p>
</li> </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"> <li class="span3">
<a class="thumbnail" href="examples/signin.html"> <a class="thumbnail" href="examples/signin.html">
<img src="assets/img/examples/bootstrap-example-signin.png" alt=""> <img src="assets/img/examples/bootstrap-example-signin.png" alt="">
@@ -277,6 +284,7 @@
<h4>Sign in</h4> <h4>Sign in</h4>
<p>Barebones sign in form with custom, larger form controls and a flexible layout.</p> <p>Barebones sign in form with custom, larger form controls and a flexible layout.</p>
</li> </li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/sticky-footer.html"> <a class="thumbnail" href="examples/sticky-footer.html">
<img src="assets/img/examples/bootstrap-example-sticky-footer.png" alt=""> <img src="assets/img/examples/bootstrap-example-sticky-footer.png" alt="">
@@ -284,8 +292,6 @@
<h4>Sticky footer</h4> <h4>Sticky footer</h4>
<p>Pin a fixed-height footer to the bottom of the user's viewport.</p> <p>Pin a fixed-height footer to the bottom of the user's viewport.</p>
</li> </li>
<!--
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/carousel.html"> <a class="thumbnail" href="examples/carousel.html">
<img src="assets/img/examples/bootstrap-example-carousel.png" alt=""> <img src="assets/img/examples/bootstrap-example-carousel.png" alt="">
@@ -293,7 +299,6 @@
<h4>Carousel jumbotron</h4> <h4>Carousel jumbotron</h4>
<p>A more interactive riff on the basic marketing site featuring a prominent carousel.</p> <p>A more interactive riff on the basic marketing site featuring a prominent carousel.</p>
</li> </li>
-->
</ul> </ul>
</section> </section>
@@ -325,13 +330,14 @@
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -344,7 +350,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -358,6 +363,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+21 -17
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Twitter Bootstrap</title> <title>Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -87,7 +87,7 @@
<a href="./extend.html" >Extend</a> <a href="./extend.html" >Extend</a>
</li> </li>
<li> <li>
Version 2.1.2 Version 2.3.0
</li> </li>
</ul> </ul>
</div> </div>
@@ -100,7 +100,7 @@
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</li> </li>
<li> <li>
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="102px" height="20px"></iframe>
</li> </li>
<li class="follow-btn"> <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> <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
@@ -121,19 +121,19 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-twitter-github.png"> <img class="marketing-img" src="assets/img/bs-docs-twitter-github.png">
<h2>By nerds, for nerds.</h2> <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> <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>
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-responsive-illustrations.png"> <img class="marketing-img" src="assets/img/bs-docs-responsive-illustrations.png">
<h2>Made for everyone.</h2> <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> <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>
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-bootstrap-features.png"> <img class="marketing-img" src="assets/img/bs-docs-bootstrap-features.png">
<h2>Packed with features.</h2> <h2>Packed with features.</h2>
<p>A 12-column responsive <a href="./scaffolding.html#grid">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> <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>
</div> </div>
@@ -176,13 +176,14 @@
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -195,7 +196,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -209,6 +209,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+118 -90
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Javascript · Twitter Bootstrap</title> <title>Javascript · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -73,7 +73,7 @@
================================================== --> ================================================== -->
<header class="jumbotron subhead"> <header class="jumbotron subhead">
<div class="container"> <div class="container">
<h1>JavaScript for Bootstrap</h1> <h1>JavaScript</h1>
<p class="lead">Bring Bootstrap's components to life&mdash;now with 13 custom jQuery plugins. <p class="lead">Bring Bootstrap's components to life&mdash;now with 13 custom jQuery plugins.
</div> </div>
</header> </header>
@@ -112,7 +112,7 @@
</div> </div>
<h3>Individual or compiled</h3> <h3>Individual or compiled</h3>
<p>If you have downloaded the latest version of Bootstrap, both <strong>bootstrap.js</strong> and <strong>bootstrap.min.js</strong> contain all of the plugins listed on this page.</p> <p>Plugins can be included individually (though some have required dependencies), or all at once. Both <strong>bootstrap.js</strong> and <strong>bootstrap.min.js</strong> contain all plugins in a single file.</p>
<h3>Data attributes</h3> <h3>Data attributes</h3>
<p>You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.</p> <p>You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.</p>
@@ -134,9 +134,17 @@ $("#myModal").modal('show') // initializes and invokes show immed
</pre> </pre>
<p>Each plugin also exposes its raw constructor on a `Constructor` property: <code>$.fn.popover.Constructor</code>. If you'd like to get a particular plugin instance, retrieve it directly from an element: <code>$('[rel=popover]').data('popover')</code>.</p> <p>Each plugin also exposes its raw constructor on a `Constructor` property: <code>$.fn.popover.Constructor</code>. If you'd like to get a particular plugin instance, retrieve it directly from an element: <code>$('[rel=popover]').data('popover')</code>.</p>
<h3>No Conflict</h3>
<p>Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call <code>.noConflict</code> on the plugin you wish to revert the value of.</p>
<pre class="prettyprint linenums">
var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the bootstrap functionality
</pre>
<h3>Events</h3> <h3>Events</h3>
<p>Bootstrap provides custom events for most plugin's unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. <code>show</code>) is triggered at the start of an event, and its past participle form (ex. <code>shown</code>) is trigger on the completion of an action.</p> <p>Bootstrap provides custom events for most plugin's unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. <code>show</code>) is triggered at the start of an event, and its past participle form (ex. <code>shown</code>) is trigger on the completion of an action.</p>
<p>All infinitive events provide preventDefault functionality. This provides the abililty to stop the execution of an action before it starts.</p> <p>All infinitive events provide preventDefault functionality. This provides the ability to stop the execution of an action before it starts.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
$('#myModal').on('show', function (e) { $('#myModal').on('show', function (e) {
if (!data) return e.preventDefault() // stops modal from being shown if (!data) return e.preventDefault() // stops modal from being shown
@@ -153,7 +161,7 @@ $('#myModal').on('show', function (e) {
<h1>Transitions <small>bootstrap-transition.js</small></h1> <h1>Transitions <small>bootstrap-transition.js</small></h1>
</div> </div>
<h3>About transitions</h3> <h3>About transitions</h3>
<p>For simple transition effects, include bootstrap-transition.js once alongside the other JS files. If you're using the compiled (or minified) bootstrap.js, there is no need to include this&mdash;it's already there.</p> <p>For simple transition effects, include <strong>bootstrap-transition.js</strong> once alongside the other JS files. If you're using the compiled (or minified) <strong>bootstrap.js</strong>, there is no need to include this&mdash;it's already there.</p>
<h3>Use cases</h3> <h3>Use cases</h3>
<p>A few examples of the transition plugin:</p> <p>A few examples of the transition plugin:</p>
<ul> <ul>
@@ -181,13 +189,13 @@ $('#myModal').on('show', function (e) {
<h3>Static example</h3> <h3>Static example</h3>
<p>A rendered modal with header, body, and set of actions in the footer.</p> <p>A rendered modal with header, body, and set of actions in the footer.</p>
<div class="bs-docs-example" style="background-color: #f5f5f5;"> <div class="bs-docs-example" style="background-color: #f5f5f5;">
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto 20px; z-index: 1; max-width: 100%;"> <div class="modal" style="position: relative; top: auto; left: auto; right: auto; margin: 0 auto 20px; z-index: 1; max-width: 100%;">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Modal header</h3> <h3>Modal header</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>One fine body</p> <p>One fine body&hellip;</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn">Close</a> <a href="#" class="btn">Close</a>
@@ -202,7 +210,7 @@ $('#myModal').on('show', function (e) {
&lt;h3&gt;Modal header&lt;/h3&gt; &lt;h3&gt;Modal header&lt;/h3&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-body"&gt; &lt;div class="modal-body"&gt;
&lt;p&gt;One fine body&lt;/p&gt; &lt;p&gt;One fine body&hellip;&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;a href="#" class="btn"&gt;Close&lt;/a&gt; &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
@@ -224,7 +232,7 @@ $('#myModal').on('show', function (e) {
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p> <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
<h4>Popover in a modal</h4> <h4>Popover in a modal</h4>
<p>This <a href="#" role="button" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.</p> <p>This <a href="#" role="button" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on click.</p>
<h4>Tooltips in a modal</h4> <h4>Tooltips in a modal</h4>
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p> <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
@@ -259,7 +267,7 @@ $('#myModal').on('show', function (e) {
&lt;h3 id="myModalLabel"&gt;Modal header&lt;/h3&gt; &lt;h3 id="myModalLabel"&gt;Modal header&lt;/h3&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-body"&gt; &lt;div class="modal-body"&gt;
&lt;p&gt;One fine body&lt;/p&gt; &lt;p&gt;One fine body&hellip;&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;button class="btn" data-dismiss="modal" aria-hidden="true"&gt;Close&lt;/button&gt; &lt;button class="btn" data-dismiss="modal" aria-hidden="true"&gt;Close&lt;/button&gt;
@@ -397,21 +405,21 @@ $('#myModal').on('hidden', function () {
<li class="dropdown"> <li class="dropdown">
<a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li><a tabindex="-1" href="http://google.com">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://google.com">Action</a></li>
<li><a tabindex="-1" href="#anotherAction">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#anotherAction">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a> <a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop2"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
<li><a tabindex="-1" href="#">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -419,11 +427,11 @@ $('#myModal').on('hidden', function () {
<li id="fat-menu" class="dropdown"> <li id="fat-menu" class="dropdown">
<a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a> <a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop3"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
<li><a tabindex="-1" href="#">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -439,31 +447,31 @@ $('#myModal').on('hidden', function () {
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a> <a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
<ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4"> <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4">
<li><a tabindex="-1" href="#">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
<ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5">
<li><a tabindex="-1" href="#">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Dropdown 3 <b class="caret"></b></a>
<ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop5">
<li><a tabindex="-1" href="#">Action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
</ul> <!-- /tabs --> </ul> <!-- /tabs -->
@@ -507,7 +515,7 @@ $('#myModal').on('hidden', function () {
<h3>Methods</h3> <h3>Methods</h3>
<h4>$().dropdown('toggle')</h4> <h4>$().dropdown('toggle')</h4>
<p>A programatic api for toggling menus for a given navbar or tabbed navigation.</p> <p>A programmatic api for toggling menus for a given navbar or tabbed navigation.</p>
</section> </section>
@@ -636,7 +644,7 @@ $('[data-spy="scroll"]').each(function () {
<h2>Example tabs</h2> <h2>Example tabs</h2>
<p>Add quick, dynamic tab functionality to transiton through panes of local content, even via dropdown menus.</p> <p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul id="myTab" class="nav nav-tabs"> <ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
@@ -761,17 +769,17 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use CSS3 for animations, and data-attributes for local title storage.</p> <p>Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use CSS3 for animations, and data-attributes for local title storage.</p>
<p>Hover over the links below to see tooltips:</p> <p>Hover over the links below to see tooltips:</p>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" rel="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" rel="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" rel="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral. <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" data-toggle="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" data-toggle="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" data-toggle="tooltip" title="A much longer tooltip belongs right here to demonstrate the max-width we apply.">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" data-toggle="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.
</p> </p>
</div> </div>
<h3>Four directions</h3> <h3>Four directions</h3>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<ul class="bs-docs-tooltip-examples"> <ul class="bs-docs-tooltip-examples">
<li><a href="#" rel="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</a></li> <li><a href="#" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</a></li>
<li><a href="#" rel="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</a></li> <li><a href="#" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</a></li>
<li><a href="#" rel="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</a></li> <li><a href="#" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</a></li>
<li><a href="#" rel="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</a></li> <li><a href="#" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</a></li>
</ul> </ul>
</div> </div>
@@ -809,7 +817,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
</tr> </tr>
<tr> <tr>
<td>placement</td> <td>placement</td>
<td>string|function</td> <td>string | function</td>
<td>'top'</td> <td>'top'</td>
<td>how to position the tooltip - top | bottom | left | right</td> <td>how to position the tooltip - top | bottom | left | right</td>
</tr> </tr>
@@ -828,8 +836,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<tr> <tr>
<td>trigger</td> <td>trigger</td>
<td>string</td> <td>string</td>
<td>'hover'</td> <td>'hover focus'</td>
<td>how tooltip is triggered - click | hover | focus | manual</td> <td>how tooltip is triggered - click | hover | focus | manual. Note you case pass trigger mutliple, space seperated, trigger types.</td>
</tr> </tr>
<tr> <tr>
<td>delay</td> <td>delay</td>
@@ -841,6 +849,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p> <p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
</td> </td>
</tr> </tr>
<tr>
<td>container</td>
<td>string | false</td>
<td>false</td>
<td>
<p>Appends the tooltip to a specific element <code>container: 'body'</code></p>
</td>
</tr>
</tbody> </tbody>
</table> </table>
<div class="alert alert-info"> <div class="alert alert-info">
@@ -850,7 +866,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h3>Markup</h3> <h3>Markup</h3>
<p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p> <p>For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.</p>
<pre class="prettyprint linenums">&lt;a href="#" rel="tooltip" title="first tooltip"&gt;hover over me&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a href="#" data-toggle="tooltip" title="first tooltip"&gt;hover over me&lt;/a&gt;</pre>
<h3>Methods</h3> <h3>Methods</h3>
<h4>$().tooltip(options)</h4> <h4>$().tooltip(options)</h4>
@@ -922,16 +938,16 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h3>Live demo</h3> <h3>Live demo</h3>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<a href="#" class="btn btn-large btn-danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a> <a href="#" class="btn btn-large btn-danger" data-toggle="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a>
</div> </div>
<h4>Four directions</h4> <h4>Four directions</h4>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<ul class="bs-docs-tooltip-examples"> <ul class="bs-docs-tooltip-examples">
<li><a href="#" class="btn" rel="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on top">Popover on top</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on top">Popover on top</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on right">Popover on right</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on right">Popover on right</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on bottom">Popover on bottom</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on bottom">Popover on bottom</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on left">Popover on left</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on left">Popover on left</a></li>
</ul> </ul>
</div> </div>
@@ -969,7 +985,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
</tr> </tr>
<tr> <tr>
<td>placement</td> <td>placement</td>
<td>string|function</td> <td>string | function</td>
<td>'right'</td> <td>'right'</td>
<td>how to position the popover - top | bottom | left | right</td> <td>how to position the popover - top | bottom | left | right</td>
</tr> </tr>
@@ -1124,7 +1140,7 @@ $('#my-alert').bind('closed', function () {
<p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p> <p>Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
<h4>Stateful</h4> <h4>Stateful</h4>
<p>Add data-loading-text="Loading..." to use a loading state on a button.</p> <p>Add <code>data-loading-text="Loading..."</code> to use a loading state on a button.</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<button type="button" id="fat-btn" data-loading-text="loading..." class="btn btn-primary"> <button type="button" id="fat-btn" data-loading-text="loading..." class="btn btn-primary">
Loading state Loading state
@@ -1133,14 +1149,14 @@ $('#my-alert').bind('closed', function () {
<pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-loading-text="Loading..."&gt;Loading state&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-loading-text="Loading..."&gt;Loading state&lt;/button&gt;</pre>
<h4>Single toggle</h4> <h4>Single toggle</h4>
<p>Add data-toggle="button" to activate toggling on a single button.</p> <p>Add <code>data-toggle="button"</code> to activate toggling on a single button.</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<button type="button" class="btn btn-primary" data-toggle="button">Single Toggle</button> <button type="button" class="btn btn-primary" data-toggle="button">Single Toggle</button>
</div> </div>
<pre class="prettyprint linenums">&lt;button type="button" class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-toggle="button"&gt;Single Toggle&lt;/button&gt;</pre>
<h4>Checkbox</h4> <h4>Checkbox</h4>
<p>Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.</p> <p>Add <code>data-toggle="buttons-checkbox"</code> for checkbox style toggling on btn-group.</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<div class="btn-group" data-toggle="buttons-checkbox"> <div class="btn-group" data-toggle="buttons-checkbox">
<button type="button" class="btn btn-primary">Left</button> <button type="button" class="btn btn-primary">Left</button>
@@ -1150,14 +1166,14 @@ $('#my-alert').bind('closed', function () {
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-group" data-toggle="buttons-checkbox"&gt; &lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
&lt;button type="button" class="btn"&gt;Left&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Left&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Middle&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Middle&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Right&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Right&lt;/button&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h4>Radio</h4> <h4>Radio</h4>
<p>Add data-toggle="buttons-radio" for radio style toggling on btn-group.</p> <p>Add <code>data-toggle="buttons-radio"</code> for radio style toggling on btn-group.</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<div class="btn-group" data-toggle="buttons-radio"> <div class="btn-group" data-toggle="buttons-radio">
<button type="button" class="btn btn-primary">Left</button> <button type="button" class="btn btn-primary">Left</button>
@@ -1167,9 +1183,9 @@ $('#my-alert').bind('closed', function () {
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-group" data-toggle="buttons-radio"&gt; &lt;div class="btn-group" data-toggle="buttons-radio"&gt;
&lt;button type="button" class="btn"&gt;Left&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Left&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Middle&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Middle&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Right&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Right&lt;/button&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@@ -1414,6 +1430,11 @@ $('#myCollapsible').on('hidden', function () {
<p>The slideshow below shows a generic plugin and component for cycling through elements like a carousel.</p> <p>The slideshow below shows a generic plugin and component for cycling through elements like a carousel.</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div id="myCarousel" class="carousel slide"> <div id="myCarousel" class="carousel slide">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner"> <div class="carousel-inner">
<div class="item active"> <div class="item active">
<img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt=""> <img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt="">
@@ -1443,6 +1464,11 @@ $('#myCollapsible').on('hidden', function () {
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div id="myCarousel" class="carousel slide"&gt; &lt;div id="myCarousel" class="carousel slide"&gt;
&lt;ol class="carousel-indicators"&gt
&lt;li data-target="#myCarousel" data-slide-to="0" class="active"&gt&lt;/li&gt
&lt;li data-target="#myCarousel" data-slide-to="1"&gt&lt;/li&gt
&lt;li data-target="#myCarousel" data-slide-to="2"&gt&lt;/li&gt
&lt;/ol&gt
&lt;!-- Carousel items --&gt; &lt;!-- Carousel items --&gt;
&lt;div class="carousel-inner"&gt; &lt;div class="carousel-inner"&gt;
&lt;div class="active item"&gt;&lt;/div&gt; &lt;div class="active item"&gt;&lt;/div&gt;
@@ -1467,14 +1493,14 @@ $('#myCollapsible').on('hidden', function () {
<h2>Usage</h2> <h2>Usage</h2>
<h3>Via data attributes</h3> <h3>Via data attributes</h3>
<p>...</p> <p>Use data attributes to easily control the position of the carousel. <code>data-slide</code> accepts the keywords <code>prev</code> or <code>next</code>, which alters the slide position relative to it's current position. Alternatively, use <code>data-slide-to</code> to pass a raw slide index to the carousel <code>data-slide-to="2"</code>, which jump's the slide position to a particular index beginning with <code>0</code>.</p>
<h3>Via JavaScript</h3> <h3>Via JavaScript</h3>
<p>Call carousel manually with:</p> <p>Call carousel manually with:</p>
<pre class="prettyprint linenums">$('.carousel').carousel()</pre> <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
<h3>Options</h3> <h3>Options</h3>
<p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-interval=""</code>.</p> <p>Options can be passed via data attributes or JavaScriptz. For data attributes, append the option name to <code>data-</code>, as in <code>data-interval=""</code>.</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
<tr> <tr>
@@ -1557,7 +1583,7 @@ $('.carousel').carousel({
<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'> <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
</div> </div>
<pre class="prettyprint linenums">&lt;input type="text" data-provide="typeahead"&gt;</pre> <pre class="prettyprint linenums">&lt;input type="text" data-provide="typeahead"&gt;</pre>
<p>You'll want to set <code>autocomplete="off"</code> to prevent default browser menus from appearing over the Bootstrap typeahead dropdown.</p>
<hr class="bs-docs-separator"> <hr class="bs-docs-separator">
@@ -1613,6 +1639,12 @@ $('.carousel').carousel({
<td>exact match,<br> case sensitive,<br> case insensitive</td> <td>exact match,<br> case sensitive,<br> case insensitive</td>
<td>Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.</td> <td>Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.</td>
</tr> </tr>
<tr>
<td>updater</td>
<td>function</td>
<td>returns selected item</td>
<td>The method used to return selected item. Accepts a single argument, the <code>item</code> and has the scope of the typeahead instance.</td>
</tr>
<tr> <tr>
<td>highlighter</td> <td>highlighter</td>
<td>function</td> <td>function</td>
@@ -1657,14 +1689,6 @@ $('.carousel').carousel({
<p>Call the affix plugin via JavaScript:</p> <p>Call the affix plugin via JavaScript:</p>
<pre class="prettyprint linenums">$('#navbar').affix()</pre> <pre class="prettyprint linenums">$('#navbar').affix()</pre>
<h3>Methods</h3>
<h4>.affix('refresh')</h4>
<p>When using affix in conjunction with adding or removing of elements from the DOM, you'll want to call the refresh method:</p>
<pre class="prettyprint linenums">
$('[data-spy="affix"]').each(function () {
$(this).affix('refresh')
});
</pre>
<h3>Options</h3> <h3>Options</h3>
<p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-offset-top="200"</code>.</p> <p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-offset-top="200"</code>.</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
@@ -1681,7 +1705,7 @@ $('[data-spy="affix"]').each(function () {
<td>offset</td> <td>offset</td>
<td>number | function | object</td> <td>number | function | object</td>
<td>10</td> <td>10</td>
<td>Pixels to offset from screen when calculating position of scroll. If a single number is provide, the offset will be applied in both top and left directions. To listen for a single direction, or multiple unique offsets, just provided an object <code>offset: { x: 10 }</code>. Use a function when you need to dynamically provide an offset (useful for some responsive designs).</td> <td>Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and left directions. To listen for a single direction, or multiple unique offsets, just provide an object <code>offset: { x: 10 }</code>. Use a function when you need to dynamically provide an offset (useful for some responsive designs).</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -1700,13 +1724,14 @@ $('[data-spy="affix"]').each(function () {
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -1719,7 +1744,6 @@ $('[data-spy="affix"]').each(function () {
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -1733,6 +1757,10 @@ $('[data-spy="affix"]').each(function () {
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+33 -15
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Scaffolding · Twitter Bootstrap</title> <title>Scaffolding · Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head> </head>
@@ -123,7 +123,7 @@
<p>These styles can be found within <strong>scaffolding.less</strong>.</p> <p>These styles can be found within <strong>scaffolding.less</strong>.</p>
<h3>Reset via Normalize</h3> <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> 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> <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> </section>
@@ -301,13 +301,21 @@
</pre> </pre>
<h2>Fluid nesting</h2> <h2>Fluid nesting</h2>
<p>Nesting with fluid grids is a bit different: the number of nested columns should not match the parent's number of columns. Instead, each level of nested columns are reset because each row takes up 100% of the parent column.</p> <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="row-fluid show-grid">
<div class="span12"> <div class="span12">
Fluid 12 Fluid 12
<div class="row-fluid show-grid"> <div class="row-fluid show-grid">
<div class="span6"> <div class="span6">
Fluid 6 Fluid 6
<div class="row-fluid show-grid">
<div class="span6">
Fluid 6
</div>
<div class="span6">
Fluid 6
</div>
</div>
</div> </div>
<div class="span6"> <div class="span6">
Fluid 6 Fluid 6
@@ -320,7 +328,13 @@
&lt;div class="span12"&gt; &lt;div class="span12"&gt;
Fluid 12 Fluid 12
&lt;div class="row-fluid"&gt; &lt;div class="row-fluid"&gt;
&lt;div class="span6"&gt;Fluid 6&lt;/div&gt; &lt;div class="span6"&gt;
Fluid 6
&lt;div class="row-fluid"&gt;
&lt;div class="span6"&gt;Fluid 6&lt;/div&gt;
&lt;div class="span6"&gt;Fluid 6&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="span6"&gt;Fluid 6&lt;/div&gt; &lt;div class="span6"&gt;Fluid 6&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
@@ -509,7 +523,7 @@
</table> </table>
<h3>When to use</h3> <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.</p> <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> <h3>Responsive utilities test case</h3>
<p>Resize your browser or load on different devices to test the above classes.</p> <p>Resize your browser or load on different devices to test the above classes.</p>
@@ -543,13 +557,14 @@
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">Back to top</a></p> <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>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">Read the blog</a></li> <li><a href="http://blog.getbootstrap.com">Blog</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li>
</ul> </ul>
</div> </div>
@@ -562,7 +577,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -576,6 +590,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+14 -10
View File
@@ -19,11 +19,11 @@
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"> <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="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" 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="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
{{#production}} {{#production}}
<script type="text/javascript"> <script type="text/javascript">
@@ -89,13 +89,14 @@
================================================== --> ================================================== -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="pull-right"><a href="#">{{_i}}Back to top{{/i}}</a></p> <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}}Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> 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}}Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed 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>
<p>{{_i}}Icons from <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"> <ul class="footer-links">
<li><a href="http://blog.getbootstrap.com">{{_i}}Read the blog{{/i}}</a></li> <li><a href="http://blog.getbootstrap.com">{{_i}}Blog{{/i}}</a></li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Submit issues{{/i}}</a></li> <li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/issues?state=open">{{_i}}Issues{{/i}}</a></li>
<li class="muted">&middot;</li>
<li><a href="https://github.com/twitter/bootstrap/wiki">{{_i}}Roadmap and changelog{{/i}}</a></li> <li><a href="https://github.com/twitter/bootstrap/wiki">{{_i}}Roadmap and changelog{{/i}}</a></li>
</ul> </ul>
</div> </div>
@@ -108,7 +109,6 @@
<!-- Placed at the end of the document so the pages load faster --> <!-- 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 type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="assets/js/jquery.js"></script> <script src="assets/js/jquery.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script src="assets/js/bootstrap-transition.js"></script> <script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script> <script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script> <script src="assets/js/bootstrap-modal.js"></script>
@@ -122,6 +122,10 @@
<script src="assets/js/bootstrap-carousel.js"></script> <script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script> <script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.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> <script src="assets/js/application.js"></script>
+120 -32
View File
@@ -127,7 +127,7 @@
{{! Abbreviations }} {{! Abbreviations }}
<h2 id="abbreviations">{{_i}}Abbreviations{{/i}}</h2> <h2 id="abbreviations">{{_i}}Abbreviations{{/i}}</h2>
<p>{{_i}}Stylized implemenation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.{{/i}}</p> <p>{{_i}}Stylized implementation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.{{/i}}</p>
<h3><code>&lt;abbr&gt;</code></h3> <h3><code>&lt;abbr&gt;</code></h3>
<p>{{_i}}For expanded text on long hover of an abbreviation, include the <code>title</code> attribute.{{/i}}</p> <p>{{_i}}For expanded text on long hover of an abbreviation, include the <code>title</code> attribute.{{/i}}</p>
@@ -162,7 +162,7 @@
</address> </address>
<address> <address>
<strong>{{_i}}Full Name{{/i}}</strong><br> <strong>{{_i}}Full Name{{/i}}</strong><br>
<a href="mailto:#">{{_i}}first.last@gmail.com{{/i}}</a> <a href="mailto:#">{{_i}}first.last@example.com{{/i}}</a>
</address> </address>
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@@ -175,7 +175,7 @@
&lt;address&gt; &lt;address&gt;
&lt;strong&gt;{{_i}}Full Name{{/i}}&lt;/strong&gt;&lt;br&gt; &lt;strong&gt;{{_i}}Full Name{{/i}}&lt;/strong&gt;&lt;br&gt;
&lt;a href="mailto:#"&gt;{{_i}}first.last@gmail.com{{/i}}&lt;/a&gt; &lt;a href="mailto:#"&gt;{{_i}}first.last@example.com{{/i}}&lt;/a&gt;
&lt;/address&gt; &lt;/address&gt;
</pre> </pre>
@@ -287,7 +287,7 @@
</pre> </pre>
<h3>{{_i}}Unstyled{{/i}}</h3> <h3>{{_i}}Unstyled{{/i}}</h3>
<p>{{_i}}A list of items with no <code>list-style</code> or additional left padding.{{/i}}</p> <p>{{_i}}Remove the default <code>list-style</code> and left padding on list items (immediate children only).{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul class="unstyled"> <ul class="unstyled">
<li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li>
@@ -311,6 +311,21 @@
&lt;ul class="unstyled"&gt; &lt;ul class="unstyled"&gt;
&lt;li&gt;...&lt;/li&gt; &lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt; &lt;/ul&gt;
</pre>
<h3>{{_i}}Inline{{/i}}</h3>
<p>{{_i}}Place all list items on a single line with <code>inline-block</code> and some light padding.{{/i}}</p>
<div class="bs-docs-example">
<ul class="inline">
<li>Lorem ipsum</li>
<li>Phasellus iaculis</li>
<li>Nulla volutpat</li>
</ul>
</div>
<pre class="prettyprint linenums">
&lt;ul class="inline"&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
</pre> </pre>
<h3>{{_i}}Description{{/i}}</h3> <h3>{{_i}}Description{{/i}}</h3>
@@ -375,7 +390,7 @@
For example, <code>&lt;section&gt;</code> should be wrapped as inline. For example, <code>&lt;section&gt;</code> should be wrapped as inline.
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
{{_i}}For example, &lt;code&gt;&lt;section&gt;&lt;/code&gt; should be wrapped as inline.{{/i}} {{_i}}For example, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; should be wrapped as inline.{{/i}}
</pre> </pre>
<h2>Basic block</h2> <h2>Basic block</h2>
@@ -449,7 +464,7 @@
<p>{{_i}}Add any of the following classes to the <code>.table</code> base class.{{/i}}</p> <p>{{_i}}Add any of the following classes to the <code>.table</code> base class.{{/i}}</p>
<h3><code>{{_i}}.table-striped{{/i}}</code></h3> <h3><code>{{_i}}.table-striped{{/i}}</code></h3>
<p>{{_i}}Adds zebra-striping to any table row within the <code>&lt;tbody&gt;</code> via the <code>:nth-child</code> CSS selector (not available in IE7-IE8).{{/i}}</p> <p>{{_i}}Adds zebra-striping to any table row within the <code>&lt;tbody&gt;</code> via the <code>:nth-child</code> CSS selector (not available in IE7-8).{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
@@ -812,25 +827,29 @@
<h2>{{_i}}Default styles{{/i}}</h2> <h2>{{_i}}Default styles{{/i}}</h2>
<p>{{_i}}Individual form controls receive styling, but without any required base class on the <code>&lt;form&gt;</code> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.{{/i}}</p> <p>{{_i}}Individual form controls receive styling, but without any required base class on the <code>&lt;form&gt;</code> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.{{/i}}</p>
<form class="bs-docs-example"> <form class="bs-docs-example">
<legend>Legend</legend> <fieldset>
<label>{{_i}}Label name{{/i}}</label> <legend>Legend</legend>
<input type="text" placeholder="{{_i}}Type something…{{/i}}"> <label>{{_i}}Label name{{/i}}</label>
<span class="help-block">{{_i}}Example block-level help text here.{{/i}}</span> <input type="text" placeholder="{{_i}}Type something…{{/i}}">
<label class="checkbox"> <span class="help-block">{{_i}}Example block-level help text here.{{/i}}</span>
<input type="checkbox"> {{_i}}Check me out{{/i}} <label class="checkbox">
</label> <input type="checkbox"> {{_i}}Check me out{{/i}}
<button type="submit" class="btn">{{_i}}Submit{{/i}}</button> </label>
<button type="submit" class="btn">{{_i}}Submit{{/i}}</button>
</fieldset>
</form>{{! /example }} </form>{{! /example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;form&gt; &lt;form&gt;
&lt;legend&gt;{{_i}}Legend{{/i}}&lt;/legend&gt; &lt;fieldset&gt;
&lt;label&gt;{{_i}}Label name{{/i}}&lt;/label&gt; &lt;legend&gt;{{_i}}Legend{{/i}}&lt;/legend&gt;
&lt;input type="text" placeholder="{{_i}}Type something…{{/i}}"&gt; &lt;label&gt;{{_i}}Label name{{/i}}&lt;/label&gt;
&lt;span class="help-block"&gt;Example block-level help text here.&lt;/span&gt; &lt;input type="text" placeholder="{{_i}}Type something…{{/i}}"&gt;
&lt;label class="checkbox"&gt; &lt;span class="help-block"&gt;Example block-level help text here.&lt;/span&gt;
&lt;input type="checkbox"&gt; {{_i}}Check me out{{/i}} &lt;label class="checkbox"&gt;
&lt;/label&gt; &lt;input type="checkbox"&gt; {{_i}}Check me out{{/i}}
&lt;button type="submit" class="btn"&gt;{{_i}}Submit{{/i}}&lt;/button&gt; &lt;/label&gt;
&lt;button type="submit" class="btn"&gt;{{_i}}Submit{{/i}}&lt;/button&gt;
&lt;/fieldset&gt;
&lt;/form&gt; &lt;/form&gt;
</pre> </pre>
@@ -884,7 +903,6 @@
<li>{{_i}}Wrap any associated controls in <code>.controls</code> for proper alignment{{/i}}</li> <li>{{_i}}Wrap any associated controls in <code>.controls</code> for proper alignment{{/i}}</li>
</ul> </ul>
<form class="bs-docs-example form-horizontal"> <form class="bs-docs-example form-horizontal">
<legend>Legend</legend>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputEmail">{{_i}}Email{{/i}}</label> <label class="control-label" for="inputEmail">{{_i}}Email{{/i}}</label>
<div class="controls"> <div class="controls">
@@ -1242,6 +1260,54 @@
&lt;/ul&gt; &lt;/ul&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre>
<h4>{{_i}}Segmented dropdown groups{{/i}}</h4>
<form class="bs-docs-example">
<div class="input-prepend">
<div class="btn-group">
<button class="btn" tabindex="-1">Action</button>
<button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div>
<input type="text">
</div>
<div class="input-append">
<input type="text">
<div class="btn-group">
<button class="btn" tabindex="-1">Action</button>
<button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div>
</div>
</form>
<pre class="prettyprint linenums">
&lt;form&gt;
&lt;div class="input-prepend"&gt;
&lt;div class="btn-group"&gt;...&lt;/div&gt;
&lt;input type="text"&gt;
&lt;/div&gt;
&lt;div class="input-append"&gt;
&lt;input type="text"&gt;
&lt;div class="btn-group"&gt;...&lt;/div&gt;
&lt;/div&gt;
&lt;/form&gt;
</pre> </pre>
<h4>{{_i}}Search form{{/i}}</h4> <h4>{{_i}}Search form{{/i}}</h4>
@@ -1271,6 +1337,17 @@
<h3>{{_i}}Control sizing{{/i}}</h3> <h3>{{_i}}Control sizing{{/i}}</h3>
<p>{{_i}}Use relative sizing classes like <code>.input-large</code> or match your inputs to the grid column sizes using <code>.span*</code> classes.{{/i}}</p> <p>{{_i}}Use relative sizing classes like <code>.input-large</code> or match your inputs to the grid column sizes using <code>.span*</code> classes.{{/i}}</p>
<h4>{{_i}}Block level inputs{{/i}}</h4>
<p>{{_i}}Make any <code>&lt;input&gt;</code> or <code>&lt;textarea&gt;</code> element behave like a block level element.{{/i}}</p>
<form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls">
<input class="input-block-level" type="text" placeholder=".input-block-level">
</div>
</form>
<pre class="prettyprint linenums">
&lt;input class="input-block-level" type="text" placeholder=".input-block-level"&gt;
</pre>
<h4>{{_i}}Relative sizing{{/i}}</h4> <h4>{{_i}}Relative sizing{{/i}}</h4>
<form class="bs-docs-example" style="padding-bottom: 15px;"> <form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls docs-input-sizes"> <div class="controls docs-input-sizes">
@@ -1339,7 +1416,7 @@
&lt;/select&gt; &lt;/select&gt;
</pre> </pre>
<p>{{_i}}For multiple grid inputs per line, <strong>use the <code>.controls-row</code> modifier class for proper spacing</strong>. It floats the inputs to collapse white-space, sets the proper margins, and the clears the float.{{/i}}</p> <p>{{_i}}For multiple grid inputs per line, <strong>use the <code>.controls-row</code> modifier class for proper spacing</strong>. It floats the inputs to collapse white-space, sets the proper margins, and clears the float.{{/i}}</p>
<form class="bs-docs-example" style="padding-bottom: 15px;"> <form class="bs-docs-example" style="padding-bottom: 15px;">
<div class="controls"> <div class="controls">
<input class="span5" type="text" placeholder=".span5"> <input class="span5" type="text" placeholder=".span5">
@@ -1429,6 +1506,15 @@
</form> </form>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;input class="input-xlarge" id="focusedInput" type="text" value="{{_i}}This is focused...{{/i}}"&gt; &lt;input class="input-xlarge" id="focusedInput" type="text" value="{{_i}}This is focused...{{/i}}"&gt;
</pre>
<h3>{{_i}}Invalid inputs{{/i}}</h3>
<p>{{_i}}Style inputs via default browser functionality with <code>:invalid</code>. Specify a <code>type</code> and add the <code>required</code> attribute.{{/i}}</p>
<form class="bs-docs-example form-inline">
<input class="span3" type="email" placeholder="test@example.com" required>
</form>
<pre class="prettyprint linenums">
&lt;input class="span3" type="email" required&gt;
</pre> </pre>
<h3>{{_i}}Disabled inputs{{/i}}</h3> <h3>{{_i}}Disabled inputs{{/i}}</h3>
@@ -1676,9 +1762,9 @@
<p>{{_i}}Add classes to an <code>&lt;img&gt;</code> element to easily style images in any project.{{/i}}</p> <p>{{_i}}Add classes to an <code>&lt;img&gt;</code> element to easily style images in any project.{{/i}}</p>
<div class="bs-docs-example bs-docs-example-images"> <div class="bs-docs-example bs-docs-example-images">
<img src="http://placehold.it/140x140" class="img-rounded"> <img data-src="holder.js/140x140" class="img-rounded">
<img src="http://placehold.it/140x140" class="img-circle"> <img data-src="holder.js/140x140" class="img-circle">
<img src="http://placehold.it/140x140" class="img-polaroid"> <img data-src="holder.js/140x140" class="img-polaroid">
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;img src="..." class="img-rounded"&gt; &lt;img src="..." class="img-rounded"&gt;
@@ -1892,7 +1978,6 @@
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-toolbar"&gt; &lt;div class="btn-toolbar"&gt;
&lt;div class="btn-group"&gt; &lt;div class="btn-group"&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-left"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-left"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-center"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-center"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;a class="btn" href="#"&gt;&lt;i class="icon-align-right"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn" href="#"&gt;&lt;i class="icon-align-right"&gt;&lt;/i&gt;&lt;/a&gt;
@@ -1929,15 +2014,18 @@
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h5>{{_i}}Small button{{/i}}</h5> <h5>{{_i}}Button sizes{{/i}}</h5>
<div class="bs-docs-example"> <div class="bs-docs-example">
<a class="btn btn-small" href="#"><i class="icon-star"></i></a> <a class="btn btn-large" href="#"><i class="icon-star"></i> Star</a>
<a class="btn btn-small" href="#"><i class="icon-star"></i> Star</a>
<a class="btn btn-mini" href="#"><i class="icon-star"></i> Star</a>
</div>{{! /bs-docs-example }} </div>{{! /bs-docs-example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;a class="btn btn-small" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a class="btn btn-large" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
&lt;a class="btn btn-small" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
&lt;a class="btn btn-mini" href="#"&gt;&lt;i class="icon-star"&gt;&lt;/i&gt; Star&lt;/a&gt;
</pre> </pre>
<h4>{{_i}}Navigation{{/i}}</h4> <h4>{{_i}}Navigation{{/i}}</h4>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="well" style="padding: 8px 0; margin-bottom: 0;"> <div class="well" style="padding: 8px 0; margin-bottom: 0;">
+89 -55
View File
@@ -94,26 +94,12 @@
<h3>{{_i}}Sub menus on dropdowns{{/i}}</h3> <h3>{{_i}}Sub menus on dropdowns{{/i}}</h3>
<p>{{_i}}Add an extra level of dropdown menus, appearing on hover like those of OS X, with some simple markup additions. Add <code>.dropdown-submenu</code> to any <code>li</code> in an existing dropdown menu for automatic styling.{{/i}}</p> <p>{{_i}}Add an extra level of dropdown menus, appearing on hover like those of OS X, with some simple markup additions. Add <code>.dropdown-submenu</code> to any <code>li</code> in an existing dropdown menu for automatic styling.{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example bs-docs-example-submenus">
<div class="dropdown clearfix">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block; position: static; margin-bottom: 5px; *width: 180px;"> <div class="pull-left">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <p class="muted">Default</p>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <div class="dropdown clearfix">
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">{{_i}}More options{{/i}}</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
</ul>
</li>
</ul>
<div class="dropup" style="float: left; margin-left: 20px;">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block; position: static; margin-bottom: 5px; *width: 180px;">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
@@ -130,7 +116,52 @@
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>{{! /.pull-left }}
<div class="pull-left">
<p class="muted">Dropup</p>
<div class="dropup">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">{{_i}}More options{{/i}}</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
</ul>
</li>
</ul>
</div>
</div>{{! /.pull-left }}
<div class="pull-left">
<p class="muted">Left submenu</p>
<div class="dropdown">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li class="dropdown-submenu pull-left">
<a tabindex="-1" href="#">{{_i}}More options{{/i}}</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Second level link{{/i}}</a></li>
</ul>
</li>
</ul>
</div>
</div>{{! /.pull-left }}
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"&gt; &lt;ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"&gt;
@@ -617,7 +648,7 @@
</pre> </pre>
<h3>{{_i}}Disabled state{{/i}}</h3> <h3>{{_i}}Disabled state{{/i}}</h3>
<p>{{_i}}For any nav component (tabs, pills, or list), add <code>.disabled</code> for <strong>gray links and no hover effects</strong>. Links will remain clickable, however, unless custom JavaScript is implemented to prevent those clicks.{{/i}}</p> <p>{{_i}}For any nav component (tabs, pills, or list), add <code>.disabled</code> for <strong>gray links and no hover effects</strong>. Links will remain clickable, however, unless you remove the <code>href</code> attribute. Alternatively, you could implement custom JavaScript to prevent those clicks.{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li><a href="#">{{_i}}Clickable link{{/i}}</a></li> <li><a href="#">{{_i}}Clickable link{{/i}}</a></li>
@@ -1189,13 +1220,13 @@
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</a> </a>
<a class="brand" href="#">{{_i}}Title{{/i}}</a> <a class="brand" href="#">{{_i}}Title{{/i}}</a>
<div class="nav-collapse collapse"> <div class="nav-collapse collapse navbar-responsive-collapse">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">{{_i}}Home{{/i}}</a></li> <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
<li><a href="#">{{_i}}Link{{/i}}</a></li> <li><a href="#">{{_i}}Link{{/i}}</a></li>
@@ -1273,13 +1304,13 @@
<div class="navbar navbar-inverse" style="position: static;"> <div class="navbar navbar-inverse" style="position: static;">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".subnav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-inverse-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</a> </a>
<a class="brand" href="#">{{_i}}Title{{/i}}</a> <a class="brand" href="#">{{_i}}Title{{/i}}</a>
<div class="nav-collapse collapse"> <div class="nav-collapse collapse navbar-inverse-collapse">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">{{_i}}Home{{/i}}</a></li> <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
<li><a href="#">{{_i}}Link{{/i}}</a></li> <li><a href="#">{{_i}}Link{{/i}}</a></li>
@@ -1757,6 +1788,9 @@
</tbody> </tbody>
</table> </table>
<h3>{{_i}}Easily collapsible{{/i}}</h3>
<p>{{_i}}For easy implementation, labels and badges will simply collapse (via CSS's <code>:empty</code> selector) when no content exists within.{{/i}}</p>
</section> </section>
@@ -1819,22 +1853,22 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x180" alt=""> <img data-src="holder.js/260x180" alt="">
</a> </a>
</li> </li>
</ul> </ul>
@@ -1846,7 +1880,7 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>{{_i}}Thumbnail label{{/i}}</h3> <h3>{{_i}}Thumbnail label{{/i}}</h3>
<p>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> <p>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>
@@ -1856,7 +1890,7 @@
</li> </li>
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>{{_i}}Thumbnail label{{/i}}</h3> <h3>{{_i}}Thumbnail label{{/i}}</h3>
<p>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> <p>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>
@@ -1866,7 +1900,7 @@
</li> </li>
<li class="span4"> <li class="span4">
<div class="thumbnail"> <div class="thumbnail">
<img src="http://placehold.it/300x200" alt=""> <img data-src="holder.js/300x200" alt="">
<div class="caption"> <div class="caption">
<h3>{{_i}}Thumbnail label{{/i}}</h3> <h3>{{_i}}Thumbnail label{{/i}}</h3>
<p>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> <p>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>
@@ -1892,7 +1926,7 @@
&lt;ul class="thumbnails"&gt; &lt;ul class="thumbnails"&gt;
&lt;li class="span4"&gt; &lt;li class="span4"&gt;
&lt;a href="#" class="thumbnail"&gt; &lt;a href="#" class="thumbnail"&gt;
&lt;img src="http://placehold.it/300x200" alt=""&gt; &lt;img data-src="holder.js/300x200" alt=""&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;/li&gt; &lt;/li&gt;
... ...
@@ -1903,7 +1937,7 @@
&lt;ul class="thumbnails"&gt; &lt;ul class="thumbnails"&gt;
&lt;li class="span4"&gt; &lt;li class="span4"&gt;
&lt;div class="thumbnail"&gt; &lt;div class="thumbnail"&gt;
&lt;img src="http://placehold.it/300x200" alt=""&gt; &lt;img data-src="holder.js/300x200" alt=""&gt;
&lt;h3&gt;{{_i}}Thumbnail label{{/i}}&lt;/h3&gt; &lt;h3&gt;{{_i}}Thumbnail label{{/i}}&lt;/h3&gt;
&lt;p&gt;{{_i}}Thumbnail caption...{{/i}}&lt;/p&gt; &lt;p&gt;{{_i}}Thumbnail caption...{{/i}}&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
@@ -1917,27 +1951,27 @@
<ul class="thumbnails"> <ul class="thumbnails">
<li class="span4"> <li class="span4">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/360x270" alt=""> <img data-src="holder.js/360x270" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x120" alt=""> <img data-src="holder.js/260x120" alt="">
</a> </a>
</li> </li>
<li class="span2"> <li class="span2">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/160x120" alt=""> <img data-src="holder.js/160x120" alt="">
</a> </a>
</li> </li>
<li class="span3"> <li class="span3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/260x120" alt=""> <img data-src="holder.js/260x120" alt="">
</a> </a>
</li> </li>
<li class="span2"> <li class="span2">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img src="http://placehold.it/160x120" alt=""> <img data-src="holder.js/160x120" alt="">
</a> </a>
</li> </li>
</ul> </ul>
@@ -1964,16 +1998,16 @@
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="alert"&gt; &lt;div class="alert"&gt;
&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt; &lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;
&lt;strong&gt;{{_i}}Warning!{{/i}}&lt;/strong&gt; {{_i}}Best check yo self, you're not looking too good.{{/i}} &lt;strong&gt;{{_i}}Warning!{{/i}}&lt;/strong&gt; {{_i}}Best check yo self, you're not looking too good.{{/i}}
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>{{_i}}Dismiss buttons{{/i}}</h3> <h3>{{_i}}Dismiss buttons{{/i}}</h3>
<p>{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code>&lt;a&gt;</code> tag.{{/i}}</p> <p>{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code>&lt;a&gt;</code> tag.{{/i}}</p>
<pre class="prettyprint linenums">&lt;a href="#" class="close" data-dismiss="alert"&gt;&times;&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a href="#" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/a&gt;</pre>
<p>{{_i}}Alternatively, you may use a <code>&lt;button&gt;</code> element with the data attribute, which we have opted to do for our docs. When using <code>&lt;button&gt;</code>, you must include <code>type="button"</code> or your forms may not submit.{{/i}}</p> <p>{{_i}}Alternatively, you may use a <code>&lt;button&gt;</code> element with the data attribute, which we have opted to do for our docs. When using <code>&lt;button&gt;</code>, you must include <code>type="button"</code> or your forms may not submit.{{/i}}</p>
<pre class="prettyprint linenums">&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;</pre>
<h3>{{_i}}Dismiss alerts via JavaScript{{/i}}</h3> <h3>{{_i}}Dismiss alerts via JavaScript{{/i}}</h3>
<p>{{_i}}Use the <a href="./javascript.html#alerts">alerts jQuery plugin</a> for quick and easy dismissal of alerts.{{/i}}</p> <p>{{_i}}Use the <a href="./javascript.html#alerts">alerts jQuery plugin</a> for quick and easy dismissal of alerts.{{/i}}</p>
@@ -1993,7 +2027,7 @@
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="alert alert-block"&gt; &lt;div class="alert alert-block"&gt;
&lt;button type="button" class="close" data-dismiss="alert"&gt;&times;&lt;/button&gt; &lt;button type="button" class="close" data-dismiss="alert"&gt;&amp;times;&lt;/button&gt;
&lt;h4&gt;{{_i}}Warning!{{/i}}&lt;/h4&gt; &lt;h4&gt;{{_i}}Warning!{{/i}}&lt;/h4&gt;
{{_i}}Best check yo self, you're not...{{/i}} {{_i}}Best check yo self, you're not...{{/i}}
&lt;/div&gt; &lt;/div&gt;
@@ -2209,7 +2243,7 @@
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Media heading{{/i}}</h4>
@@ -2218,14 +2252,14 @@
</div> </div>
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Media heading{{/i}}</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Media heading{{/i}}</h4>
@@ -2238,7 +2272,7 @@
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="media"&gt; &lt;div class="media"&gt;
&lt;a class="pull-left" href="#"&gt; &lt;a class="pull-left" href="#"&gt;
&lt;img class="media-object" src="http://placehold.it/64x64"&gt; &lt;img class="media-object" data-src="holder.js/64x64"&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;div class="media-body"&gt; &lt;div class="media-body"&gt;
&lt;h4 class="media-heading"&gt;{{_i}}Media heading{{/i}}&lt;/h4&gt; &lt;h4 class="media-heading"&gt;{{_i}}Media heading{{/i}}&lt;/h4&gt;
@@ -2262,7 +2296,7 @@
<ul class="media-list"> <ul class="media-list">
<li class="media"> <li class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Media heading{{/i}}</h4>
@@ -2270,7 +2304,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4>
@@ -2278,7 +2312,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4>
@@ -2290,7 +2324,7 @@
<!-- Nested media object --> <!-- Nested media object -->
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Nested media heading{{/i}}</h4>
@@ -2301,7 +2335,7 @@
</li> </li>
<li class="media"> <li class="media">
<a class="pull-right" href="#"> <a class="pull-right" href="#">
<img class="media-object" src="http://placehold.it/64x64"> <img class="media-object" data-src="holder.js/64x64">
</a> </a>
<div class="media-body"> <div class="media-body">
<h4 class="media-heading">{{_i}}Media heading{{/i}}</h4> <h4 class="media-heading">{{_i}}Media heading{{/i}}</h4>
@@ -2314,7 +2348,7 @@
&lt;ul class="media-list"&gt; &lt;ul class="media-list"&gt;
&lt;li class="media"&gt; &lt;li class="media"&gt;
&lt;a class="pull-left" href="#"&gt; &lt;a class="pull-left" href="#"&gt;
&lt;img class="media-object" src="http://placehold.it/64x64"&gt; &lt;img class="media-object" data-src="holder.js/64x64"&gt;
&lt;/a&gt; &lt;/a&gt;
&lt;div class="media-body"&gt; &lt;div class="media-body"&gt;
&lt;h4 class="media-heading"&gt;{{_i}}Media heading{{/i}}&lt;/h4&gt; &lt;h4 class="media-heading"&gt;{{_i}}Media heading{{/i}}&lt;/h4&gt;
@@ -2383,7 +2417,7 @@
<p><button class="close" style="float: none;">&times;</button></p> <p><button class="close" style="float: none;">&times;</button></p>
</div> </div>
<pre class="prettyprint linenums">&lt;button class="close"&gt;&amp;times;&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button class="close"&gt;&amp;times;&lt;/button&gt;</pre>
<p>{{_i}}iOS devices require an href="#" for click events if you rather use an anchor.{{/i}}</p> <p>{{_i}}iOS devices require an <code>href="#"</code> for click events if you would rather use an anchor.{{/i}}</p>
<pre class="prettyprint linenums">&lt;a class="close" href="#"&gt;&amp;times;&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a class="close" href="#"&gt;&amp;times;&lt;/a&gt;</pre>
<h2>{{_i}}Helper classes{{/i}}</h2> <h2>{{_i}}Helper classes{{/i}}</h2>
+61 -25
View File
@@ -1,28 +1,32 @@
<!-- Customizer CSS --> <!-- Masthead
<link href="assets/css/docs-customizer.css" rel="stylesheet"> ================================================== -->
<header class="jumbotron subhead" id="overview">
<form> <div class="container">
<h1>{{_i}}Customize and download{{/i}}</h1>
<div class="bsc-sidebar"> <p class="lead">{{_i}}<a href="https://github.com/twitter/bootstrap/zipball/master">Download Bootstrap</a> or customize variables, components, JavaScript plugins, and more.{{/i}}</p>
<h3 class="bsc-heading">Bootjack</h3>
<ul class="bsc-accordion">
<li>
<input type="checkbox" checked> Scaffolding
</li>
</ul>
<div class="bsc-toolbar">
<div class="btn-group">
<button class="btn" type="button">Download</button>
<button class="btn" type="button">Reset</button>
</div>
</div>
</div> </div>
<div class="bsc-preview"> </header>
preview
<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> {{_i}}1. Choose components{{/i}}</a></li>
<li><a href="#plugins"><i class="icon-chevron-right"></i> {{_i}}2. Select jQuery plugins{{/i}}</a></li>
<li><a href="#variables"><i class="icon-chevron-right"></i> {{_i}}3. Customize variables{{/i}}</a></li>
<li><a href="#download"><i class="icon-chevron-right"></i> {{_i}}4. Download{{/i}}</a></li>
</ul>
</div>
<div class="span9">
<!-- Customize form <!-- Customize form
================================================== --> ================================================== -->
<form>
<section class="download" id="components"> <section class="download" id="components">
<div class="page-header"> <div class="page-header">
<a class="btn btn-small pull-right toggle-all" href="#">{{_i}}Toggle all{{/i}}</a> <a class="btn btn-small pull-right toggle-all" href="#">{{_i}}Toggle all{{/i}}</a>
@@ -58,6 +62,7 @@
<label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> {{_i}}Alerts{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="alerts.less"> {{_i}}Alerts{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> {{_i}}Progress bars{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="progress-bars.less"> {{_i}}Progress bars{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> {{_i}}Hero unit{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="hero-unit.less"> {{_i}}Hero unit{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> {{_i}}Media component{{/i}}</label>
<h3>{{_i}}JS Components{{/i}}</h3> <h3>{{_i}}JS Components{{/i}}</h3>
<label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> {{_i}}Tooltips{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="tooltip.less"> {{_i}}Tooltips{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> {{_i}}Popovers{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="popovers.less"> {{_i}}Popovers{{/i}}</label>
@@ -68,7 +73,6 @@
</div><!-- /span --> </div><!-- /span -->
<div class="span3"> <div class="span3">
<h3>{{_i}}Miscellaneous{{/i}}</h3> <h3>{{_i}}Miscellaneous{{/i}}</h3>
<label class="checkbox"><input checked="checked" type="checkbox" value="media.less"> {{_i}}Media object{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> {{_i}}Wells{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="wells.less"> {{_i}}Wells{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> {{_i}}Close icon{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="close.less"> {{_i}}Close icon{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> {{_i}}Utilities{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="utilities.less"> {{_i}}Utilities{{/i}}</label>
@@ -223,12 +227,14 @@
<input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif"> <input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif">
<label>@monoFontFamily</label> <label>@monoFontFamily</label>
<input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace"> <input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace">
<label>@baseFontSize</label> <label>@baseFontSize</label>
<input type="text" class="span3" placeholder="14px"> <input type="text" class="span3" placeholder="14px">
<label>@baseFontFamily</label> <label>@baseFontFamily</label>
<input type="text" class="span3" placeholder="@sansFontFamily"> <input type="text" class="span3" placeholder="@sansFontFamily">
<label>@baseLineHeight</label> <label>@baseLineHeight</label>
<input type="text" class="span3" placeholder="20px"> <input type="text" class="span3" placeholder="20px">
<label>@altFontFamily</label> <label>@altFontFamily</label>
<input type="text" class="span3" placeholder="@serifFontFamily"> <input type="text" class="span3" placeholder="@serifFontFamily">
<label>@headingsFontFamily</label> <label>@headingsFontFamily</label>
@@ -237,6 +243,28 @@
<input type="text" class="span3" placeholder="bold"> <input type="text" class="span3" placeholder="bold">
<label>@headingsColor</label> <label>@headingsColor</label>
<input type="text" class="span3" placeholder="inherit"> <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> <label>@heroUnitBackground</label>
<input type="text" class="span3" placeholder="@grayLighter"> <input type="text" class="span3" placeholder="@grayLighter">
<label>@heroUnitHeadingColor</label> <label>@heroUnitHeadingColor</label>
@@ -270,7 +298,7 @@
<label>@btnPrimaryBackground</label> <label>@btnPrimaryBackground</label>
<input type="text" class="span3" placeholder="@linkColor"> <input type="text" class="span3" placeholder="@linkColor">
<label>@btnPrimaryBackgroundHighlight</label> <label>@btnPrimaryBackgroundHighlight</label>
<input type="text" class="span3" placeholder="darken(@white, 10%);"> <input type="text" class="span3" placeholder="darken(@white, 10%)">
</div><!-- /span --> </div><!-- /span -->
<div class="span3"> <div class="span3">
@@ -323,6 +351,11 @@
<label>@navbarSearchPlaceholderColor</label> <label>@navbarSearchPlaceholderColor</label>
<input type="text" class="span3" placeholder="#ccc"> <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>{{_i}}Dropdowns{{/i}}</h3> <h3>{{_i}}Dropdowns{{/i}}</h3>
<label>@dropdownBackground</label> <label>@dropdownBackground</label>
<input type="text" class="span3" placeholder="@white"> <input type="text" class="span3" placeholder="@white">
@@ -345,13 +378,16 @@
</h1> </h1>
</div> </div>
<div class="download-btn"> <div class="download-btn">
<a class="btn btn-primary" href="#" {{#production}}onclick="_gaq.push(['_trackEvent', 'Customize', 'Download', 'Customize and Download']);"{{/production}}>Customize and Download</a> <a class="btn btn-primary" href="#" {{#production}}onclick="_gaq.push(['_trackEvent', 'Customize', 'Download', 'Customize and Download']);"{{/production}}>{{_i}}Customize and Download{{/i}}</a>
<h4>{{_i}}What's included?{{/i}}</h4> <h4>{{_i}}What's included?{{/i}}</h4>
<p>{{_i}}Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.{{/i}}</p> <p>{{_i}}Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.{{/i}}</p>
</div> </div>
</section><!-- /download --> </section><!-- /download -->
</form>
</div>
</form> </div>{{! /span9 }}
</div>{{! row}}
</div>{{! /.container }}
+18 -13
View File
@@ -127,7 +127,7 @@
<div class="page-header"> <div class="page-header">
<h1>{{_i}}4. Basic HTML template{{/i}}</h1> <h1>{{_i}}4. Basic HTML template{{/i}}</h1>
</div> </div>
<p class="lead">{{_i}}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="#file-structure">File structure</a>.{{/i}}</p> <p class="lead">{{_i}}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>.{{/i}}</p>
<p>{{_i}}Now, here's a look at a <strong>typical HTML file</strong>:{{/i}}</p> <p>{{_i}}Now, here's a look at a <strong>typical HTML file</strong>:{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;!DOCTYPE html&gt; &lt;!DOCTYPE html&gt;
@@ -170,27 +170,27 @@
</div> </div>
<p class="lead">{{_i}}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.{{/i}}</p> <p class="lead">{{_i}}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.{{/i}}</p>
<ul class="thumbnails bootstrap-examples"> <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>{{_i}}Starter template{{/i}}</h4>
<p>{{_i}}A barebones HTML document with all the Bootstrap CSS and JavaScript included.{{/i}}</p>
</li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/hero.html"> <a class="thumbnail" href="examples/hero.html">
<img src="assets/img/examples/bootstrap-example-hero.jpg" alt=""> <img src="assets/img/examples/bootstrap-example-marketing.png" alt="">
</a> </a>
<h4>{{_i}}Basic marketing site{{/i}}</h4> <h4>{{_i}}Basic marketing site{{/i}}</h4>
<p>{{_i}}Featuring a hero unit for a primary message and three supporting elements.{{/i}}</p> <p>{{_i}}Featuring a hero unit for a primary message and three supporting elements.{{/i}}</p>
</li> </li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/fluid.html"> <a class="thumbnail" href="examples/fluid.html">
<img src="assets/img/examples/bootstrap-example-fluid.jpg" alt=""> <img src="assets/img/examples/bootstrap-example-fluid.png" alt="">
</a> </a>
<h4>{{_i}}Fluid layout{{/i}}</h4> <h4>{{_i}}Fluid layout{{/i}}</h4>
<p>{{_i}}Uses our new responsive, fluid grid system to create a seamless liquid layout.{{/i}}</p> <p>{{_i}}Uses our new responsive, fluid grid system to create a seamless liquid layout.{{/i}}</p>
</li> </li>
<li class="span3">
<a class="thumbnail" href="examples/starter-template.html">
<img src="assets/img/examples/bootstrap-example-starter.jpg" alt="">
</a>
<h4>{{_i}}Starter template{{/i}}</h4>
<p>{{_i}}A barebones HTML document with all the Bootstrap CSS and JavaScript included.{{/i}}</p>
</li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/marketing-narrow.html"> <a class="thumbnail" href="examples/marketing-narrow.html">
@@ -199,6 +199,13 @@
<h4>{{_i}}Narrow marketing{{/i}}</h4> <h4>{{_i}}Narrow marketing{{/i}}</h4>
<p>{{_i}}Slim, lightweight marketing template for small projects or teams.{{/i}}</p> <p>{{_i}}Slim, lightweight marketing template for small projects or teams.{{/i}}</p>
</li> </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>{{_i}}Justified nav{{/i}}</h4>
<p>{{_i}}Marketing page with equal-width navigation links in a modified navbar.{{/i}}</p>
</li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/signin.html"> <a class="thumbnail" href="examples/signin.html">
<img src="assets/img/examples/bootstrap-example-signin.png" alt=""> <img src="assets/img/examples/bootstrap-example-signin.png" alt="">
@@ -206,6 +213,7 @@
<h4>{{_i}}Sign in{{/i}}</h4> <h4>{{_i}}Sign in{{/i}}</h4>
<p>{{_i}}Barebones sign in form with custom, larger form controls and a flexible layout.{{/i}}</p> <p>{{_i}}Barebones sign in form with custom, larger form controls and a flexible layout.{{/i}}</p>
</li> </li>
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/sticky-footer.html"> <a class="thumbnail" href="examples/sticky-footer.html">
<img src="assets/img/examples/bootstrap-example-sticky-footer.png" alt=""> <img src="assets/img/examples/bootstrap-example-sticky-footer.png" alt="">
@@ -213,8 +221,6 @@
<h4>{{_i}}Sticky footer{{/i}}</h4> <h4>{{_i}}Sticky footer{{/i}}</h4>
<p>{{_i}}Pin a fixed-height footer to the bottom of the user's viewport.{{/i}}</p> <p>{{_i}}Pin a fixed-height footer to the bottom of the user's viewport.{{/i}}</p>
</li> </li>
<!--
<li class="span3"> <li class="span3">
<a class="thumbnail" href="examples/carousel.html"> <a class="thumbnail" href="examples/carousel.html">
<img src="assets/img/examples/bootstrap-example-carousel.png" alt=""> <img src="assets/img/examples/bootstrap-example-carousel.png" alt="">
@@ -222,7 +228,6 @@
<h4>{{_i}}Carousel jumbotron{{/i}}</h4> <h4>{{_i}}Carousel jumbotron{{/i}}</h4>
<p>{{_i}}A more interactive riff on the basic marketing site featuring a prominent carousel.{{/i}}</p> <p>{{_i}}A more interactive riff on the basic marketing site featuring a prominent carousel.{{/i}}</p>
</li> </li>
-->
</ul> </ul>
</section> </section>
+7 -7
View File
@@ -3,7 +3,7 @@
<h1>{{_i}}Bootstrap{{/i}}</h1> <h1>{{_i}}Bootstrap{{/i}}</h1>
<p>{{_i}}Sleek, intuitive, and powerful front-end framework for faster and easier web development.{{/i}}</p> <p>{{_i}}Sleek, intuitive, and powerful front-end framework for faster and easier web development.{{/i}}</p>
<p> <p>
<a href="assets/bootstrap.zip" class="btn btn-primary btn-large" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 2.1.2']);"{{/production}}>{{_i}}Download Bootstrap{{/i}}</a> <a href="assets/bootstrap.zip" class="btn btn-primary btn-large" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 2.3.0']);"{{/production}}>{{_i}}Download Bootstrap{{/i}}</a>
</p> </p>
<ul class="masthead-links"> <ul class="masthead-links">
<li> <li>
@@ -16,7 +16,7 @@
<a href="./extend.html" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Extend']);"{{/production}}>{{_i}}Extend{{/i}}</a> <a href="./extend.html" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Extend']);"{{/production}}>{{_i}}Extend{{/i}}</a>
</li> </li>
<li> <li>
{{_i}}Version 2.1.2{{/i}} {{_i}}Version 2.3.0{{/i}}
</li> </li>
</ul> </ul>
</div> </div>
@@ -29,7 +29,7 @@
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
</li> </li>
<li> <li>
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="98px" height="20px"></iframe> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twitter&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="102px" height="20px"></iframe>
</li> </li>
<li class="follow-btn"> <li class="follow-btn">
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">{{_i}}Follow @twbootstrap{{/i}}</a> <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">{{_i}}Follow @twbootstrap{{/i}}</a>
@@ -50,19 +50,19 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-twitter-github.png"> <img class="marketing-img" src="assets/img/bs-docs-twitter-github.png">
<h2>{{_i}}By nerds, for nerds.{{/i}}</h2> <h2>{{_i}}By nerds, for nerds.{{/i}}</h2>
<p>{{_i}}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.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
</div> </div>
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-responsive-illustrations.png"> <img class="marketing-img" src="assets/img/bs-docs-responsive-illustrations.png">
<h2>{{_i}}Made for everyone.{{/i}}</h2> <h2>{{_i}}Made for everyone.{{/i}}</h2>
<p>{{_i}}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.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
</div> </div>
<div class="span4"> <div class="span4">
<img src="assets/img/bs-docs-bootstrap-features.png"> <img class="marketing-img" src="assets/img/bs-docs-bootstrap-features.png">
<h2>{{_i}}Packed with features.{{/i}}</h2> <h2>{{_i}}Packed with features.{{/i}}</h2>
<p>{{_i}}A 12-column responsive <a href="./scaffolding.html#grid">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.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
</div> </div>
</div> </div>
+103 -79
View File
@@ -2,7 +2,7 @@
================================================== --> ================================================== -->
<header class="jumbotron subhead"> <header class="jumbotron subhead">
<div class="container"> <div class="container">
<h1>{{_i}}JavaScript for Bootstrap{{/i}}</h1> <h1>{{_i}}JavaScript{{/i}}</h1>
<p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 13 custom jQuery plugins.{{/i}} <p class="lead">{{_i}}Bring Bootstrap's components to life&mdash;now with 13 custom jQuery plugins.{{/i}}
</div> </div>
</header> </header>
@@ -41,7 +41,7 @@
</div> </div>
<h3>{{_i}}Individual or compiled{{/i}}</h3> <h3>{{_i}}Individual or compiled{{/i}}</h3>
<p>{{_i}}If you have downloaded the latest version of Bootstrap, both <strong>bootstrap.js</strong> and <strong>bootstrap.min.js</strong> contain all of the plugins listed on this page.{{/i}}</p> <p>{{_i}}Plugins can be included individually (though some have required dependencies), or all at once. Both <strong>bootstrap.js</strong> and <strong>bootstrap.min.js</strong> contain all plugins in a single file.{{/i}}</p>
<h3>{{_i}}Data attributes{{/i}}</h3> <h3>{{_i}}Data attributes{{/i}}</h3>
<p>{{_i}}You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.{{/i}}</p> <p>{{_i}}You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.{{/i}}</p>
@@ -63,9 +63,17 @@ $("#myModal").modal('show') // initializes and invokes show immed
</pre> </pre>
<p>{{_i}}Each plugin also exposes its raw constructor on a `Constructor` property: <code>$.fn.popover.Constructor</code>. If you'd like to get a particular plugin instance, retrieve it directly from an element: <code>$('[rel=popover]').data('popover')</code>.{{/i}}</p> <p>{{_i}}Each plugin also exposes its raw constructor on a `Constructor` property: <code>$.fn.popover.Constructor</code>. If you'd like to get a particular plugin instance, retrieve it directly from an element: <code>$('[rel=popover]').data('popover')</code>.{{/i}}</p>
<h3>{{_i}}No Conflict{{/i}}</h3>
<p>{{_i}}Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call <code>.noConflict</code> on the plugin you wish to revert the value of.{{/i}}</p>
<pre class="prettyprint linenums">
var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the bootstrap functionality
</pre>
<h3>{{_i}}Events{{/i}}</h3> <h3>{{_i}}Events{{/i}}</h3>
<p>{{_i}}Bootstrap provides custom events for most plugin's unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. <code>show</code>) is triggered at the start of an event, and its past participle form (ex. <code>shown</code>) is trigger on the completion of an action.{{/i}}</p> <p>{{_i}}Bootstrap provides custom events for most plugin's unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. <code>show</code>) is triggered at the start of an event, and its past participle form (ex. <code>shown</code>) is trigger on the completion of an action.{{/i}}</p>
<p>{{_i}}All infinitive events provide preventDefault functionality. This provides the abililty to stop the execution of an action before it starts.{{/i}}</p> <p>{{_i}}All infinitive events provide preventDefault functionality. This provides the ability to stop the execution of an action before it starts.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
$('#myModal').on('show', function (e) { $('#myModal').on('show', function (e) {
if (!data) return e.preventDefault() // stops modal from being shown if (!data) return e.preventDefault() // stops modal from being shown
@@ -82,7 +90,7 @@ $('#myModal').on('show', function (e) {
<h1>{{_i}}Transitions{{/i}} <small>bootstrap-transition.js</small></h1> <h1>{{_i}}Transitions{{/i}} <small>bootstrap-transition.js</small></h1>
</div> </div>
<h3>{{_i}}About transitions{{/i}}</h3> <h3>{{_i}}About transitions{{/i}}</h3>
<p>{{_i}}For simple transition effects, include bootstrap-transition.js once alongside the other JS files. If you're using the compiled (or minified) bootstrap.js, there is no need to include this&mdash;it's already there.{{/i}}</p> <p>{{_i}}For simple transition effects, include <strong>bootstrap-transition.js</strong> once alongside the other JS files. If you're using the compiled (or minified) <strong>bootstrap.js</strong>, there is no need to include this&mdash;it's already there.{{/i}}</p>
<h3>{{_i}}Use cases{{/i}}</h3> <h3>{{_i}}Use cases{{/i}}</h3>
<p>{{_i}}A few examples of the transition plugin:{{/i}}</p> <p>{{_i}}A few examples of the transition plugin:{{/i}}</p>
<ul> <ul>
@@ -111,13 +119,13 @@ $('#myModal').on('show', function (e) {
<h3>{{_i}}Static example{{/i}}</h3> <h3>{{_i}}Static example{{/i}}</h3>
<p>{{_i}}A rendered modal with header, body, and set of actions in the footer.{{/i}}</p> <p>{{_i}}A rendered modal with header, body, and set of actions in the footer.{{/i}}</p>
<div class="bs-docs-example" style="background-color: #f5f5f5;"> <div class="bs-docs-example" style="background-color: #f5f5f5;">
<div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto 20px; z-index: 1; max-width: 100%;"> <div class="modal" style="position: relative; top: auto; left: auto; right: auto; margin: 0 auto 20px; z-index: 1; max-width: 100%;">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{{_i}}Modal header{{/i}}</h3> <h3>{{_i}}Modal header{{/i}}</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>{{_i}}One fine body{{/i}}</p> <p>{{_i}}One fine body&hellip;{{/i}}</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn">{{_i}}Close{{/i}}</a> <a href="#" class="btn">{{_i}}Close{{/i}}</a>
@@ -132,7 +140,7 @@ $('#myModal').on('show', function (e) {
&lt;h3&gt;{{_i}}Modal header{{/i}}&lt;/h3&gt; &lt;h3&gt;{{_i}}Modal header{{/i}}&lt;/h3&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-body"&gt; &lt;div class="modal-body"&gt;
&lt;p&gt;{{_i}}One fine body{{/i}}&lt;/p&gt; &lt;p&gt;{{_i}}One fine body&hellip;{{/i}}&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;a href="#" class="btn"&gt;{{_i}}Close{{/i}}&lt;/a&gt; &lt;a href="#" class="btn"&gt;{{_i}}Close{{/i}}&lt;/a&gt;
@@ -154,7 +162,7 @@ $('#myModal').on('show', function (e) {
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p> <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
<h4>{{_i}}Popover in a modal{{/i}}</h4> <h4>{{_i}}Popover in a modal{{/i}}</h4>
<p>{{_i}}This <a href="#" role="button" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on hover.{{/i}}</p> <p>{{_i}}This <a href="#" role="button" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on click.{{/i}}</p>
<h4>{{_i}}Tooltips in a modal{{/i}}</h4> <h4>{{_i}}Tooltips in a modal{{/i}}</h4>
<p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p> <p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
@@ -189,7 +197,7 @@ $('#myModal').on('show', function (e) {
&lt;h3 id="myModalLabel"&gt;Modal header&lt;/h3&gt; &lt;h3 id="myModalLabel"&gt;Modal header&lt;/h3&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-body"&gt; &lt;div class="modal-body"&gt;
&lt;p&gt;{{_i}}One fine body{{/i}}&lt;/p&gt; &lt;p&gt;{{_i}}One fine body&hellip;{{/i}}&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;button class="btn" data-dismiss="modal" aria-hidden="true"&gt;{{_i}}Close{{/i}}&lt;/button&gt; &lt;button class="btn" data-dismiss="modal" aria-hidden="true"&gt;{{_i}}Close{{/i}}&lt;/button&gt;
@@ -327,21 +335,21 @@ $('#myModal').on('hidden', function () {
<li class="dropdown"> <li class="dropdown">
<a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a> <a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li><a tabindex="-1" href="http://google.com">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="http://google.com">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#anotherAction">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#anotherAction">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 2 {{/i}}<b class="caret"></b></a> <a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 2 {{/i}}<b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop2"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -349,11 +357,11 @@ $('#myModal').on('hidden', function () {
<li id="fat-menu" class="dropdown"> <li id="fat-menu" class="dropdown">
<a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a> <a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop3"> <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -369,31 +377,31 @@ $('#myModal').on('hidden', function () {
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a> <a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
<ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4"> <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown 2{{/i}} <b class="caret"></b></a> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown 2{{/i}} <b class="caret"></b></a>
<ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">{{_i}}Dropdown 3{{/i}} <b class="caret"></b></a>
<ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop5">
<li><a tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Another action{{/i}}</a></li>
<li><a tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li> <li role="presentation" class="divider"></li>
<li><a tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
</ul> <!-- /tabs --> </ul> <!-- /tabs -->
@@ -437,7 +445,7 @@ $('#myModal').on('hidden', function () {
<h3>{{_i}}Methods{{/i}}</h3> <h3>{{_i}}Methods{{/i}}</h3>
<h4>$().dropdown('toggle')</h4> <h4>$().dropdown('toggle')</h4>
<p>{{_i}}A programatic api for toggling menus for a given navbar or tabbed navigation.{{/i}}</p> <p>{{_i}}A programmatic api for toggling menus for a given navbar or tabbed navigation.{{/i}}</p>
</section> </section>
@@ -566,7 +574,7 @@ $('[data-spy="scroll"]').each(function () {
<h2>{{_i}}Example tabs{{/i}}</h2> <h2>{{_i}}Example tabs{{/i}}</h2>
<p>{{_i}}Add quick, dynamic tab functionality to transiton through panes of local content, even via dropdown menus.{{/i}}</p> <p>{{_i}}Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<ul id="myTab" class="nav nav-tabs"> <ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li> <li class="active"><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
@@ -691,17 +699,17 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<p>{{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use CSS3 for animations, and data-attributes for local title storage.{{/i}}</p> <p>{{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use CSS3 for animations, and data-attributes for local title storage.{{/i}}</p>
<p>{{_i}}Hover over the links below to see tooltips:{{/i}}</p> <p>{{_i}}Hover over the links below to see tooltips:{{/i}}</p>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<p class="muted" style="margin-bottom: 0;">{{_i}}Tight pants next level keffiyeh <a href="#" rel="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" rel="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" rel="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" rel="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.{{/i}} <p class="muted" style="margin-bottom: 0;">{{_i}}Tight pants next level keffiyeh <a href="#" data-toggle="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" data-toggle="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" data-toggle="tooltip" title="A much longer tooltip belongs right here to demonstrate the max-width we apply.">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" data-toggle="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.{{/i}}
</p> </p>
</div>{{! /example }} </div>{{! /example }}
<h3>{{_i}}Four directions{{/i}}</h3> <h3>{{_i}}Four directions{{/i}}</h3>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<ul class="bs-docs-tooltip-examples"> <ul class="bs-docs-tooltip-examples">
<li><a href="#" rel="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</a></li> <li><a href="#" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</a></li>
<li><a href="#" rel="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</a></li> <li><a href="#" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</a></li>
<li><a href="#" rel="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</a></li> <li><a href="#" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</a></li>
<li><a href="#" rel="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</a></li> <li><a href="#" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</a></li>
</ul> </ul>
</div>{{! /example }} </div>{{! /example }}
@@ -739,7 +747,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
</tr> </tr>
<tr> <tr>
<td>{{_i}}placement{{/i}}</td> <td>{{_i}}placement{{/i}}</td>
<td>{{_i}}string|function{{/i}}</td> <td>{{_i}}string | function{{/i}}</td>
<td>'top'</td> <td>'top'</td>
<td>{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right</td> <td>{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right</td>
</tr> </tr>
@@ -758,8 +766,8 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<tr> <tr>
<td>{{_i}}trigger{{/i}}</td> <td>{{_i}}trigger{{/i}}</td>
<td>{{_i}}string{{/i}}</td> <td>{{_i}}string{{/i}}</td>
<td>'hover'</td> <td>'hover focus'</td>
<td>{{_i}}how tooltip is triggered{{/i}} - click | hover | focus | manual</td> <td>{{_i}}how tooltip is triggered{{/i}} - click | hover | focus | manual. {{_i}}Note you case pass trigger mutliple, space seperated, trigger types.{{/i}}</td>
</tr> </tr>
<tr> <tr>
<td>{{_i}}delay{{/i}}</td> <td>{{_i}}delay{{/i}}</td>
@@ -771,6 +779,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p> <p>{{_i}}Object structure is: <code>delay: { show: 500, hide: 100 }</code>{{/i}}</p>
</td> </td>
</tr> </tr>
<tr>
<td>{{_i}}container{{/i}}</td>
<td>{{_i}}string | false{{/i}}</td>
<td>{{_i}}false{{/i}}</td>
<td>
<p>{{_i}}Appends the tooltip to a specific element <code>container: 'body'</code>{{/i}}</p>
</td>
</tr>
</tbody> </tbody>
</table> </table>
<div class="alert alert-info"> <div class="alert alert-info">
@@ -780,7 +796,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h3>{{_i}}Markup{{/i}}</h3> <h3>{{_i}}Markup{{/i}}</h3>
<p>{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}</p> <p>{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}</p>
<pre class="prettyprint linenums">&lt;a href="#" rel="tooltip" title="{{_i}}first tooltip{{/i}}"&gt;{{_i}}hover over me{{/i}}&lt;/a&gt;</pre> <pre class="prettyprint linenums">&lt;a href="#" data-toggle="tooltip" title="{{_i}}first tooltip{{/i}}"&gt;{{_i}}hover over me{{/i}}&lt;/a&gt;</pre>
<h3>{{_i}}Methods{{/i}}</h3> <h3>{{_i}}Methods{{/i}}</h3>
<h4>$().tooltip({{_i}}options{{/i}})</h4> <h4>$().tooltip({{_i}}options{{/i}})</h4>
@@ -852,16 +868,16 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
<h3>Live demo</h3> <h3>Live demo</h3>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<a href="#" class="btn btn-large btn-danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">{{_i}}Click to toggle popover{{/i}}</a> <a href="#" class="btn btn-large btn-danger" data-toggle="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">{{_i}}Click to toggle popover{{/i}}</a>
</div> </div>
<h4>{{_i}}Four directions{{/i}}</h4> <h4>{{_i}}Four directions{{/i}}</h4>
<div class="bs-docs-example tooltip-demo"> <div class="bs-docs-example tooltip-demo">
<ul class="bs-docs-tooltip-examples"> <ul class="bs-docs-tooltip-examples">
<li><a href="#" class="btn" rel="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on top">Popover on top</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on top">Popover on top</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on right">Popover on right</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on right">Popover on right</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on bottom">Popover on bottom</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on bottom">Popover on bottom</a></li>
<li><a href="#" class="btn" rel="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on left">Popover on left</a></li> <li><a href="#" class="btn" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Popover on left">Popover on left</a></li>
</ul> </ul>
</div>{{! /example }} </div>{{! /example }}
@@ -899,7 +915,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
</tr> </tr>
<tr> <tr>
<td>{{_i}}placement{{/i}}</td> <td>{{_i}}placement{{/i}}</td>
<td>{{_i}}string|function{{/i}}</td> <td>{{_i}}string | function{{/i}}</td>
<td>'right'</td> <td>'right'</td>
<td>{{_i}}how to position the popover{{/i}} - top | bottom | left | right</td> <td>{{_i}}how to position the popover{{/i}} - top | bottom | left | right</td>
</tr> </tr>
@@ -1054,7 +1070,7 @@ $('#my-alert').bind('closed', function () {
<p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p> <p>{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}</p>
<h4>{{_i}}Stateful{{/i}}</h4> <h4>{{_i}}Stateful{{/i}}</h4>
<p>{{_i}}Add data-loading-text="Loading..." to use a loading state on a button.{{/i}}</p> <p>{{_i}}Add <code>data-loading-text="Loading..."</code> to use a loading state on a button.{{/i}}</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<button type="button" id="fat-btn" data-loading-text="loading..." class="btn btn-primary"> <button type="button" id="fat-btn" data-loading-text="loading..." class="btn btn-primary">
{{_i}}Loading state{{/i}} {{_i}}Loading state{{/i}}
@@ -1063,14 +1079,14 @@ $('#my-alert').bind('closed', function () {
<pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-loading-text="Loading..."&gt;Loading state&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-loading-text="Loading..."&gt;Loading state&lt;/button&gt;</pre>
<h4>{{_i}}Single toggle{{/i}}</h4> <h4>{{_i}}Single toggle{{/i}}</h4>
<p>{{_i}}Add data-toggle="button" to activate toggling on a single button.{{/i}}</p> <p>{{_i}}Add <code>data-toggle="button"</code> to activate toggling on a single button.{{/i}}</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<button type="button" class="btn btn-primary" data-toggle="button">{{_i}}Single Toggle{{/i}}</button> <button type="button" class="btn btn-primary" data-toggle="button">{{_i}}Single Toggle{{/i}}</button>
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums">&lt;button type="button" class="btn" data-toggle="button"&gt;Single Toggle&lt;/button&gt;</pre> <pre class="prettyprint linenums">&lt;button type="button" class="btn btn-primary" data-toggle="button"&gt;Single Toggle&lt;/button&gt;</pre>
<h4>{{_i}}Checkbox{{/i}}</h4> <h4>{{_i}}Checkbox{{/i}}</h4>
<p>{{_i}}Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.{{/i}}</p> <p>{{_i}}Add <code>data-toggle="buttons-checkbox"</code> for checkbox style toggling on btn-group.{{/i}}</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<div class="btn-group" data-toggle="buttons-checkbox"> <div class="btn-group" data-toggle="buttons-checkbox">
<button type="button" class="btn btn-primary">{{_i}}Left{{/i}}</button> <button type="button" class="btn btn-primary">{{_i}}Left{{/i}}</button>
@@ -1080,14 +1096,14 @@ $('#my-alert').bind('closed', function () {
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-group" data-toggle="buttons-checkbox"&gt; &lt;div class="btn-group" data-toggle="buttons-checkbox"&gt;
&lt;button type="button" class="btn"&gt;Left&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Left&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Middle&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Middle&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Right&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Right&lt;/button&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h4>{{_i}}Radio{{/i}}</h4> <h4>{{_i}}Radio{{/i}}</h4>
<p>{{_i}}Add data-toggle="buttons-radio" for radio style toggling on btn-group.{{/i}}</p> <p>{{_i}}Add <code>data-toggle="buttons-radio"</code> for radio style toggling on btn-group.{{/i}}</p>
<div class="bs-docs-example" style="padding-bottom: 24px;"> <div class="bs-docs-example" style="padding-bottom: 24px;">
<div class="btn-group" data-toggle="buttons-radio"> <div class="btn-group" data-toggle="buttons-radio">
<button type="button" class="btn btn-primary">{{_i}}Left{{/i}}</button> <button type="button" class="btn btn-primary">{{_i}}Left{{/i}}</button>
@@ -1097,9 +1113,9 @@ $('#my-alert').bind('closed', function () {
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="btn-group" data-toggle="buttons-radio"&gt; &lt;div class="btn-group" data-toggle="buttons-radio"&gt;
&lt;button type="button" class="btn"&gt;Left&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Left&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Middle&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Middle&lt;/button&gt;
&lt;button type="button" class="btn"&gt;Right&lt;/button&gt; &lt;button type="button" class="btn btn-primary"&gt;Right&lt;/button&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@@ -1344,6 +1360,11 @@ $('#myCollapsible').on('hidden', function () {
<p>{{_i}}The slideshow below shows a generic plugin and component for cycling through elements like a carousel.{{/i}}</p> <p>{{_i}}The slideshow below shows a generic plugin and component for cycling through elements like a carousel.{{/i}}</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div id="myCarousel" class="carousel slide"> <div id="myCarousel" class="carousel slide">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner"> <div class="carousel-inner">
<div class="item active"> <div class="item active">
<img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt=""> <img src="assets/img/bootstrap-mdo-sfmoma-01.jpg" alt="">
@@ -1373,6 +1394,11 @@ $('#myCollapsible').on('hidden', function () {
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div id="myCarousel" class="carousel slide"&gt; &lt;div id="myCarousel" class="carousel slide"&gt;
&lt;ol class="carousel-indicators"&gt
&lt;li data-target="#myCarousel" data-slide-to="0" class="active"&gt&lt;/li&gt
&lt;li data-target="#myCarousel" data-slide-to="1"&gt&lt;/li&gt
&lt;li data-target="#myCarousel" data-slide-to="2"&gt&lt;/li&gt
&lt;/ol&gt
&lt;!-- {{_i}}Carousel items{{/i}} --&gt; &lt;!-- {{_i}}Carousel items{{/i}} --&gt;
&lt;div class="carousel-inner"&gt; &lt;div class="carousel-inner"&gt;
&lt;div class="active item"&gt;…&lt;/div&gt; &lt;div class="active item"&gt;…&lt;/div&gt;
@@ -1397,14 +1423,14 @@ $('#myCollapsible').on('hidden', function () {
<h2>{{_i}}Usage{{/i}}</h2> <h2>{{_i}}Usage{{/i}}</h2>
<h3>{{_i}}Via data attributes{{/i}}</h3> <h3>{{_i}}Via data attributes{{/i}}</h3>
<p>{{_i}}...{{/i}}</p> <p>{{_i}}Use data attributes to easily control the position of the carousel. <code>data-slide</code> accepts the keywords <code>prev</code> or <code>next</code>, which alters the slide position relative to it's current position. Alternatively, use <code>data-slide-to</code> to pass a raw slide index to the carousel <code>data-slide-to="2"</code>, which jump's the slide position to a particular index beginning with <code>0</code>.{{/i}}</p>
<h3>{{_i}}Via JavaScript{{/i}}</h3> <h3>{{_i}}Via JavaScript{{/i}}</h3>
<p>{{_i}}Call carousel manually with:{{/i}}</p> <p>{{_i}}Call carousel manually with:{{/i}}</p>
<pre class="prettyprint linenums">$('.carousel').carousel()</pre> <pre class="prettyprint linenums">$('.carousel').carousel()</pre>
<h3>{{_i}}Options{{/i}}</h3> <h3>{{_i}}Options{{/i}}</h3>
<p>{{_i}}Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-interval=""</code>.{{/i}}</p> <p>{{_i}}Options can be passed via data attributes or JavaScriptz. For data attributes, append the option name to <code>data-</code>, as in <code>data-interval=""</code>.{{/i}}</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
<tr> <tr>
@@ -1487,7 +1513,7 @@ $('.carousel').carousel({
<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'> <input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]'>
</div>{{! /example }} </div>{{! /example }}
<pre class="prettyprint linenums">&lt;input type="text" data-provide="typeahead"&gt;</pre> <pre class="prettyprint linenums">&lt;input type="text" data-provide="typeahead"&gt;</pre>
<p>You'll want to set <code>autocomplete="off"</code> to prevent default browser menus from appearing over the Bootstrap typeahead dropdown.</p>
<hr class="bs-docs-separator"> <hr class="bs-docs-separator">
@@ -1543,6 +1569,12 @@ $('.carousel').carousel({
<td>{{_i}}exact match,<br> case sensitive,<br> case insensitive{{/i}}</td> <td>{{_i}}exact match,<br> case sensitive,<br> case insensitive{{/i}}</td>
<td>{{_i}}Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.{{/i}}</td> <td>{{_i}}Method used to sort autocomplete results. Accepts a single argument <code>items</code> and has the scope of the typeahead instance. Reference the current query with <code>this.query</code>.{{/i}}</td>
</tr> </tr>
<tr>
<td>{{_i}}updater{{/i}}</td>
<td>{{_i}}function{{/i}}</td>
<td>{{_i}}returns selected item{{/i}}</td>
<td>{{_i}}The method used to return selected item. Accepts a single argument, the <code>item</code> and has the scope of the typeahead instance.{{/i}}</td>
</tr>
<tr> <tr>
<td>{{_i}}highlighter{{/i}}</td> <td>{{_i}}highlighter{{/i}}</td>
<td>{{_i}}function{{/i}}</td> <td>{{_i}}function{{/i}}</td>
@@ -1587,14 +1619,6 @@ $('.carousel').carousel({
<p>{{_i}}Call the affix plugin via JavaScript:{{/i}}</p> <p>{{_i}}Call the affix plugin via JavaScript:{{/i}}</p>
<pre class="prettyprint linenums">$('#navbar').affix()</pre> <pre class="prettyprint linenums">$('#navbar').affix()</pre>
<h3>{{_i}}Methods{{/i}}</h3>
<h4>.affix('refresh')</h4>
<p>{{_i}}When using affix in conjunction with adding or removing of elements from the DOM, you'll want to call the refresh method:{{/i}}</p>
<pre class="prettyprint linenums">
$('[data-spy="affix"]').each(function () {
$(this).affix('refresh')
});
</pre>
<h3>{{_i}}Options{{/i}}</h3> <h3>{{_i}}Options{{/i}}</h3>
<p>{{_i}}Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-offset-top="200"</code>.{{/i}}</p> <p>{{_i}}Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-offset-top="200"</code>.{{/i}}</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
@@ -1611,7 +1635,7 @@ $('[data-spy="affix"]').each(function () {
<td>{{_i}}offset{{/i}}</td> <td>{{_i}}offset{{/i}}</td>
<td>{{_i}}number | function | object{{/i}}</td> <td>{{_i}}number | function | object{{/i}}</td>
<td>{{_i}}10{{/i}}</td> <td>{{_i}}10{{/i}}</td>
<td>{{_i}}Pixels to offset from screen when calculating position of scroll. If a single number is provide, the offset will be applied in both top and left directions. To listen for a single direction, or multiple unique offsets, just provided an object <code>offset: { x: 10 }</code>. Use a function when you need to dynamically provide an offset (useful for some responsive designs).{{/i}}</td> <td>{{_i}}Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and left directions. To listen for a single direction, or multiple unique offsets, just provide an object <code>offset: { x: 10 }</code>. Use a function when you need to dynamically provide an offset (useful for some responsive designs).{{/i}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
+18 -4
View File
@@ -52,7 +52,7 @@
<p>{{_i}}These styles can be found within <strong>scaffolding.less</strong>.{{/i}}</p> <p>{{_i}}These styles can be found within <strong>scaffolding.less</strong>.{{/i}}</p>
<h3>{{_i}}Reset via Normalize{{/i}}</h3> <h3>{{_i}}Reset via Normalize{{/i}}</h3>
<p>{{_i}}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> 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.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
</section> </section>
@@ -230,13 +230,21 @@
</pre> </pre>
<h2>{{_i}}Fluid nesting{{/i}}</h2> <h2>{{_i}}Fluid nesting{{/i}}</h2>
<p>{{_i}}Nesting with fluid grids is a bit different: the number of nested columns should not match the parent's number of columns. Instead, each level of nested columns are reset because each row takes up 100% of the parent column.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
<div class="row-fluid show-grid"> <div class="row-fluid show-grid">
<div class="span12"> <div class="span12">
{{_i}}Fluid 12{{/i}} {{_i}}Fluid 12{{/i}}
<div class="row-fluid show-grid"> <div class="row-fluid show-grid">
<div class="span6"> <div class="span6">
{{_i}}Fluid 6{{/i}} {{_i}}Fluid 6{{/i}}
<div class="row-fluid show-grid">
<div class="span6">
{{_i}}Fluid 6{{/i}}
</div>
<div class="span6">
{{_i}}Fluid 6{{/i}}
</div>
</div>
</div> </div>
<div class="span6"> <div class="span6">
{{_i}}Fluid 6{{/i}} {{_i}}Fluid 6{{/i}}
@@ -249,7 +257,13 @@
&lt;div class="span12"&gt; &lt;div class="span12"&gt;
{{_i}}Fluid 12{{/i}} {{_i}}Fluid 12{{/i}}
&lt;div class="row-fluid"&gt; &lt;div class="row-fluid"&gt;
&lt;div class="span6"&gt;{{_i}}Fluid 6{{/i}}&lt;/div&gt; &lt;div class="span6"&gt;
{{_i}}Fluid 6{{/i}}
&lt;div class="row-fluid"&gt;
&lt;div class="span6"&gt;{{_i}}Fluid 6{{/i}}&lt;/div&gt;
&lt;div class="span6"&gt;{{_i}}Fluid 6{{/i}}&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="span6"&gt;{{_i}}Fluid 6{{/i}}&lt;/div&gt; &lt;div class="span6"&gt;{{_i}}Fluid 6{{/i}}&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
@@ -442,7 +456,7 @@
</table> </table>
<h3>{{_i}}When to use{{/i}}</h3> <h3>{{_i}}When to use{{/i}}</h3>
<p>{{_i}}Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.{{/i}}</p> <p>{{_i}}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.{{/i}}</p>
<h3>{{_i}}Responsive utilities test case{{/i}}</h3> <h3>{{_i}}Responsive utilities test case{{/i}}</h3>
<p>{{_i}}Resize your browser or load on different devices to test the above classes.{{/i}}</p> <p>{{_i}}Resize your browser or load on different devices to test the above classes.{{/i}}</p>
+12 -1
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.1.2 * bootstrap-affix.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -68,6 +68,8 @@
/* AFFIX PLUGIN DEFINITION /* AFFIX PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.affix
$.fn.affix = function (option) { $.fn.affix = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -85,6 +87,15 @@
} }
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API /* AFFIX DATA-API
* ============== */ * ============== */
+13 -4
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-alert.js v2.1.2 * bootstrap-alert.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -68,6 +68,8 @@
/* ALERT PLUGIN DEFINITION /* ALERT PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.alert
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -80,11 +82,18 @@
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API /* ALERT DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}(window.jQuery); }(window.jQuery);
+16 -7
View File
@@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-button.js v2.1.2 * bootstrap-button.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -64,6 +64,8 @@
/* BUTTON PLUGIN DEFINITION /* BUTTON PLUGIN DEFINITION
* ======================== */ * ======================== */
var old = $.fn.button
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -82,15 +84,22 @@
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API /* BUTTON DATA-API
* =============== */ * =============== */
$(function () { $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { var $btn = $(e.target)
var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') $btn.button('toggle')
$btn.button('toggle')
})
}) })
}(window.jQuery); }(window.jQuery);
+50 -20
View File
@@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-carousel.js v2.1.2 * bootstrap-carousel.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -28,8 +28,8 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
@@ -45,13 +45,17 @@
return this 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) { , to: function (pos) {
var $active = this.$element.find('.item.active') var activeIndex = this.getActiveIndex()
, children = $active.parent().children()
, activePos = children.index($active)
, that = this , that = this
if (pos > (children.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) { if (this.sliding) {
return this.$element.one('slid', function () { return this.$element.one('slid', function () {
@@ -59,11 +63,11 @@
}) })
} }
if (activePos == pos) { if (activeIndex == pos) {
return this.pause().cycle() return this.pause().cycle()
} }
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
} }
, pause: function (e) { , pause: function (e) {
@@ -94,9 +98,7 @@
, direction = type == 'next' ? 'left' : 'right' , direction = type == 'next' ? 'left' : 'right'
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
, e = $.Event('slide', { , e
relatedTarget: $next[0]
})
this.sliding = true this.sliding = true
@@ -104,8 +106,21 @@
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
e = $.Event('slide', {
relatedTarget: $next[0]
, direction: direction
})
if ($next.hasClass('active')) return 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')) { if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
@@ -139,6 +154,8 @@
/* CAROUSEL PLUGIN DEFINITION /* CAROUSEL PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) { $.fn.carousel = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -148,7 +165,7 @@
if (!data) $this.data('carousel', (data = new Carousel(this, options))) if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option) if (typeof option == 'number') data.to(option)
else if (action) data[action]() else if (action) data[action]()
else if (options.interval) data.cycle() else if (options.interval) data.pause().cycle()
}) })
} }
@@ -160,17 +177,30 @@
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */
$(function () { $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { var $this = $(this), href
var $this = $(this), href , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , options = $.extend({}, $target.data(), $this.data())
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) , slideIndex
$target.carousel(options)
e.preventDefault() $target.carousel(options)
})
if (slideIndex = $this.attr('data-slide-to')) {
$target.data('carousel').pause().to(slideIndex).cycle()
}
e.preventDefault()
}) })
}(window.jQuery); }(window.jQuery);
+25 -16
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-collapse.js v2.1.2 * bootstrap-collapse.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -52,7 +52,7 @@
, actives , actives
, hasData , hasData
if (this.transitioning) return if (this.transitioning || this.$element.hasClass('in')) return
dimension = this.dimension() dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-')) scroll = $.camelCase(['scroll', dimension].join('-'))
@@ -120,14 +120,16 @@
} }
/* COLLAPSIBLE PLUGIN DEFINITION /* COLLAPSE PLUGIN DEFINITION
* ============================== */ * ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
, data = $this.data('collapse') , data = $this.data('collapse')
, options = typeof option == 'object' && option , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options))) if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -140,19 +142,26 @@
$.fn.collapse.Constructor = Collapse $.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API /* COLLAPSE NO CONFLICT
* ==================== */ * ==================== */
$(function () { $.fn.collapse.noConflict = function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { $.fn.collapse = old
var $this = $(this), href return this
, target = $this.attr('data-target') }
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() /* COLLAPSE DATA-API
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') * ================= */
$(target).collapse(option)
}) $(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); }(window.jQuery);
+31 -16
View File
@@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-dropdown.js v2.1.2 * bootstrap-dropdown.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -53,9 +53,10 @@
if (!isActive) { if (!isActive) {
$parent.toggleClass('open') $parent.toggleClass('open')
$this.focus()
} }
$this.focus()
return false return false
} }
@@ -80,9 +81,12 @@
isActive = $parent.hasClass('open') isActive = $parent.hasClass('open')
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) {
if (e.which == 27) $parent.find(toggle).focus()
return $this.click()
}
$items = $('[role=menu] li:not(.divider) a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return if (!$items.length) return
@@ -100,8 +104,9 @@
} }
function clearMenus() { function clearMenus() {
getParent($(toggle)) $(toggle).each(function () {
.removeClass('open') getParent($(this)).removeClass('open')
})
} }
function getParent($this) { function getParent($this) {
@@ -113,8 +118,9 @@
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
} }
$parent = $(selector) $parent = selector && $(selector)
$parent.length || ($parent = $this.parent())
if (!$parent || !$parent.length) $parent = $this.parent()
return $parent return $parent
} }
@@ -123,6 +129,8 @@
/* DROPDOWN PLUGIN DEFINITION /* DROPDOWN PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -135,16 +143,23 @@
$.fn.dropdown.Constructor = Dropdown $.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS /* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */ * =================================== */
$(function () { $(document)
$('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
$('body') .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
})
}(window.jQuery); }(window.jQuery);
+31 -22
View File
@@ -1,5 +1,5 @@
/* ========================================================= /* =========================================================
* bootstrap-modal.js v2.1.2 * bootstrap-modal.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -60,8 +60,7 @@
that.$element.appendTo(document.body) //don't move modals dom position that.$element.appendTo(document.body) //don't move modals dom position
} }
that.$element that.$element.show()
.show()
if (transition) { if (transition) {
that.$element[0].offsetWidth // force reflow that.$element[0].offsetWidth // force reflow
@@ -70,13 +69,12 @@
that.$element that.$element
.addClass('in') .addClass('in')
.attr('aria-hidden', false) .attr('aria-hidden', false)
.focus()
that.enforceFocus() that.enforceFocus()
transition ? transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
that.$element.trigger('shown') that.$element.focus().trigger('shown')
}) })
} }
@@ -163,9 +161,11 @@
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body) .appendTo(document.body)
if (this.options.backdrop != 'static') { this.$backdrop.click(
this.$backdrop.click($.proxy(this.hide, this)) this.options.backdrop == 'static' ?
} $.proxy(this.$element[0].focus, this.$element[0])
: $.proxy(this.hide, this)
)
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -192,6 +192,8 @@
/* MODAL PLUGIN DEFINITION /* MODAL PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -212,24 +214,31 @@
$.fn.modal.Constructor = Modal $.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API /* MODAL DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { var $this = $(this)
var $this = $(this) , href = $this.attr('href')
, href = $this.attr('href') , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
, $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())
, option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault() e.preventDefault()
$target $target
.modal(option) .modal(option)
.one('hide', function () { .one('hide', function () {
$this.focus() $this.focus()
}) })
})
}) })
}(window.jQuery); }(window.jQuery);
+14 -3
View File
@@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-popover.js v2.1.2 * bootstrap-popover.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -44,7 +44,7 @@
, content = this.getContent() , content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
} }
@@ -81,6 +81,8 @@
/* POPOVER PLUGIN DEFINITION /* POPOVER PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.popover
$.fn.popover = function (option) { $.fn.popover = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -97,7 +99,16 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
}) })
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery); }(window.jQuery);
+13 -2
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-scrollspy.js v2.1.2 * bootstrap-scrollspy.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -59,7 +59,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top, href ]] ) || null && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@@ -121,6 +121,8 @@
/* SCROLLSPY PLUGIN DEFINITION /* SCROLLSPY PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) { $.fn.scrollspy = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -138,6 +140,15 @@
} }
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API /* SCROLLSPY DATA-API
* ================== */ * ================== */
+16 -7
View File
@@ -1,5 +1,5 @@
/* ======================================================== /* ========================================================
* bootstrap-tab.js v2.1.2 * bootstrap-tab.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -49,7 +49,7 @@
if ( $this.parent('li').hasClass('active') ) return if ( $this.parent('li').hasClass('active') ) return
previous = $ul.find('.active a').last()[0] previous = $ul.find('.active:last a')[0]
e = $.Event('show', { e = $.Event('show', {
relatedTarget: previous relatedTarget: previous
@@ -110,6 +110,8 @@
/* TAB PLUGIN DEFINITION /* TAB PLUGIN DEFINITION
* ===================== */ * ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) { $.fn.tab = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -122,14 +124,21 @@
$.fn.tab.Constructor = Tab $.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API /* TAB DATA-API
* ============ */ * ============ */
$(function () { $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { e.preventDefault()
e.preventDefault() $(this).tab('show')
$(this).tab('show')
})
}) })
}(window.jQuery); }(window.jQuery);
+57 -26
View File
@@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-tooltip.js v2.1.2 * bootstrap-tooltip.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@@ -38,19 +38,27 @@
, init: function (type, element, options) { , init: function (type, element, options) {
var eventIn var eventIn
, eventOut , eventOut
, triggers
, trigger
, i
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.enabled = true this.enabled = true
if (this.options.trigger == 'click') { triggers = this.options.trigger.split(' ')
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (this.options.trigger != 'manual') { for (i = triggers.length; i--;) {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' trigger = triggers[i]
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' if (trigger == 'click') {
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, 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.selector ?
@@ -97,14 +105,16 @@
, show: function () { , show: function () {
var $tip var $tip
, inside
, pos , pos
, actualWidth , actualWidth
, actualHeight , actualHeight
, placement , placement
, tp , tp
, e = $.Event('show')
if (this.hasContent() && this.enabled) { if (this.hasContent() && this.enabled) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip = this.tip() $tip = this.tip()
this.setContent() this.setContent()
@@ -116,19 +126,18 @@
this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement this.options.placement
inside = /in/.test(placement)
$tip $tip
.remove() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.insertAfter(this.$element)
pos = this.getPosition(inside) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
pos = this.getPosition()
actualWidth = $tip[0].offsetWidth actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) { switch (placement) {
case 'bottom': case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break break
@@ -147,6 +156,8 @@
.offset(tp) .offset(tp)
.addClass(placement) .addClass(placement)
.addClass('in') .addClass('in')
this.$element.trigger('shown')
} }
} }
@@ -161,23 +172,29 @@
, hide: function () { , hide: function () {
var that = this var that = this
, $tip = this.tip() , $tip = this.tip()
, e = $.Event('hide')
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip.removeClass('in') $tip.removeClass('in')
function removeWithAnimation() { function removeWithAnimation() {
var timeout = setTimeout(function () { var timeout = setTimeout(function () {
$tip.off($.support.transition.end).remove() $tip.off($.support.transition.end).detach()
}, 500) }, 500)
$tip.one($.support.transition.end, function () { $tip.one($.support.transition.end, function () {
clearTimeout(timeout) clearTimeout(timeout)
$tip.remove() $tip.detach()
}) })
} }
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() : removeWithAnimation() :
$tip.remove() $tip.detach()
this.$element.trigger('hidden')
return this return this
} }
@@ -193,11 +210,12 @@
return this.getTitle() return this.getTitle()
} }
, getPosition: function (inside) { , getPosition: function () {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { var el = this.$element[0]
width: this.$element[0].offsetWidth return $.extend({}, el.getBoundingClientRect ? el.getBoundingClientRect() : {
, height: this.$element[0].offsetHeight width: el.offsetWidth
}) , height: el.offsetHeight
}, this.$element.offset())
} }
, getTitle: function () { , getTitle: function () {
@@ -235,8 +253,9 @@
this.enabled = !this.enabled this.enabled = !this.enabled
} }
, toggle: function () { , toggle: function (e) {
this[this.tip().hasClass('in') ? 'hide' : 'show']() var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
self.tip().hasClass('in') ? self.hide() : self.show()
} }
, destroy: function () { , destroy: function () {
@@ -249,6 +268,8 @@
/* TOOLTIP PLUGIN DEFINITION /* TOOLTIP PLUGIN DEFINITION
* ========================= */ * ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) { $.fn.tooltip = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -266,10 +287,20 @@
, placement: 'top' , placement: 'top'
, selector: false , selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
, trigger: 'hover' , trigger: 'hover focus'
, title: '' , title: ''
, delay: 0 , delay: 0
, html: false , html: false
, container: false
}
/* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
} }
}(window.jQuery); }(window.jQuery);
+1 -1
View File
@@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.1.2 * bootstrap-transition.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
+46 -19
View File
@@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-typeahead.js v2.1.2 * bootstrap-typeahead.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -33,8 +33,8 @@
this.sorter = this.options.sorter || this.sorter this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false this.shown = false
this.listen() this.listen()
} }
@@ -56,16 +56,18 @@
} }
, show: function () { , show: function () {
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight height: this.$element[0].offsetHeight
}) })
this.$menu.css({ this.$menu
top: pos.top + pos.height .insertAfter(this.$element)
, left: pos.left .css({
}) top: pos.top + pos.height
, left: pos.left
})
.show()
this.$menu.show()
this.shown = true this.shown = true
return this return this
} }
@@ -170,6 +172,7 @@
, listen: function () { , listen: function () {
this.$element this.$element
.on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this)) .on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this)) .on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this)) .on('keyup', $.proxy(this.keyup, this))
@@ -181,6 +184,7 @@
this.$menu this.$menu
.on('click', $.proxy(this.click, this)) .on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
} }
, eventSupported: function(eventName) { , eventSupported: function(eventName) {
@@ -217,7 +221,7 @@
} }
, keydown: function (e) { , keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e) this.move(e)
} }
@@ -230,6 +234,9 @@
switch(e.keyCode) { switch(e.keyCode) {
case 40: // down arrow case 40: // down arrow
case 38: // up arrow case 38: // up arrow
case 16: // shift
case 17: // ctrl
case 18: // alt
break break
case 9: // tab case 9: // tab
@@ -251,28 +258,41 @@
e.preventDefault() e.preventDefault()
} }
, focus: function (e) {
this.focused = true
}
, blur: function (e) { , blur: function (e) {
var that = this this.focused = false
setTimeout(function () { that.hide() }, 150) if (!this.mousedover && this.shown) this.hide()
} }
, click: function (e) { , click: function (e) {
e.stopPropagation() e.stopPropagation()
e.preventDefault() e.preventDefault()
this.select() this.select()
this.$element.focus()
} }
, mouseenter: function (e) { , mouseenter: function (e) {
this.mousedover = true
this.$menu.find('.active').removeClass('active') this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active') $(e.currentTarget).addClass('active')
} }
, mouseleave: function (e) {
this.mousedover = false
if (!this.focused && this.shown) this.hide()
}
} }
/* TYPEAHEAD PLUGIN DEFINITION /* TYPEAHEAD PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) { $.fn.typeahead = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@@ -294,16 +314,23 @@
$.fn.typeahead.Constructor = Typeahead $.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD DATA-API /* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API
* ================== */ * ================== */
$(function () { $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { var $this = $(this)
var $this = $(this) if ($this.data('typeahead')) return
if ($this.data('typeahead')) return e.preventDefault()
e.preventDefault() $this.typeahead($this.data())
$this.typeahead($this.data())
})
}) })
}(window.jQuery); }(window.jQuery);
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-affix") module("bootstrap-affix")
test("should provide no conflict", function () {
var affix = $.fn.affix.noConflict()
ok(!$.fn.affix, 'affix was set back to undefined (org value)')
$.fn.affix = affix
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).affix, 'affix method is defined') ok($(document.body).affix, 'affix method is defined')
}) })
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-alerts") module("bootstrap-alerts")
test("should provide no conflict", function () {
var alert = $.fn.alert.noConflict()
ok(!$.fn.alert, 'alert was set back to undefined (org value)')
$.fn.alert = alert
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).alert, 'alert method is defined') ok($(document.body).alert, 'alert method is defined')
}) })
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-buttons") module("bootstrap-buttons")
test("should provide no conflict", function () {
var button = $.fn.button.noConflict()
ok(!$.fn.button, 'button was set back to undefined (org value)')
$.fn.button = button
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).button, 'button method is defined') ok($(document.body).button, 'button method is defined')
}) })
+39
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-carousel") module("bootstrap-carousel")
test("should provide no conflict", function () {
var carousel = $.fn.carousel.noConflict()
ok(!$.fn.carousel, 'carousel was set back to undefined (org value)')
$.fn.carousel = carousel
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).carousel, 'carousel method is defined') ok($(document.body).carousel, 'carousel method is defined')
}) })
@@ -25,6 +31,18 @@ $(function () {
.carousel('next') .carousel('next')
}) })
test("should fire slide event with direction", function () {
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>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></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a><a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a></div>'
$.support.transition = false
stop()
$(template).on('slide', function (e) {
e.preventDefault()
ok(e.direction)
ok(e.direction === 'right' || e.direction === 'left')
start()
}).carousel('next')
})
test("should fire slide event with relatedTarget", function () { test("should fire slide event with relatedTarget", function () {
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>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></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a><a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a></div>' var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>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></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>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></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a><a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a></div>'
$.support.transition = false $.support.transition = false
@@ -39,4 +57,25 @@ $(function () {
.carousel('next') .carousel('next')
}) })
test("should set interval from data attribute", 3,function () {
var template = $('<div id="myCarousel" class="carousel slide"> <div class="carousel-inner"> <div class="item active"> <img alt=""> <div class="carousel-caption"> <h4>{{_i}}First Thumbnail label{{/i}}</h4> <p>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> </div> </div> <div class="item"> <img alt=""> <div class="carousel-caption"> <h4>{{_i}}Second Thumbnail label{{/i}}</h4> <p>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> </div> </div> <div class="item"> <img alt=""> <div class="carousel-caption"> <h4>{{_i}}Third Thumbnail label{{/i}}</h4> <p>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> </div> </div> </div> <a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a> <a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a> </div>');
template.attr("data-interval", 1814);
template.appendTo("body");
$('[data-slide]').first().click();
ok($('#myCarousel').data('carousel').options.interval == 1814);
$('#myCarousel').remove();
template.appendTo("body").attr("data-modal", "foobar");
$('[data-slide]').first().click();
ok($('#myCarousel').data('carousel').options.interval == 1814, "even if there is an data-modal attribute set");
$('#myCarousel').remove();
template.appendTo("body");
$('[data-slide]').first().click();
$('#myCarousel').attr('data-interval', 1860);
$('[data-slide]').first().click();
ok($('#myCarousel').data('carousel').options.interval == 1814, "attributes should be read only on intitialization");
$('#myCarousel').remove();
})
}) })
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-collapse") module("bootstrap-collapse")
test("should provide no conflict", function () {
var collapse = $.fn.collapse.noConflict()
ok(!$.fn.collapse, 'collapse was set back to undefined (org value)')
$.fn.collapse = collapse
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).collapse, 'collapse method is defined') ok($(document.body).collapse, 'collapse method is defined')
}) })
+47 -1
View File
@@ -2,12 +2,19 @@ $(function () {
module("bootstrap-dropdowns") module("bootstrap-dropdowns")
test("should provide no conflict", function () {
var dropdown = $.fn.dropdown.noConflict()
ok(!$.fn.dropdown, 'dropdown was set back to undefined (org value)')
$.fn.dropdown = dropdown
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).dropdown, 'dropdown method is defined') ok($(document.body).dropdown, 'dropdown method is defined')
}) })
test("should return element", function () { test("should return element", function () {
ok($(document.body).dropdown()[0] == document.body, 'document.body returned') var el = $("<div />")
ok(el.dropdown()[0] === el[0], 'same element returned')
}) })
test("should not open dropdown if target is disabled", function () { test("should not open dropdown if target is disabled", function () {
@@ -102,4 +109,43 @@ $(function () {
dropdown.remove() dropdown.remove()
}) })
test("should remove open class if body clicked, with multiple drop downs", function () {
var dropdownHTML =
'<ul class="nav">'
+ ' <li><a href="#menu1">Menu 1</a></li>'
+ ' <li class="dropdown" id="testmenu">'
+ ' <a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <b class="caret"></b></a>'
+ ' <ul class="dropdown-menu" role="menu">'
+ ' <li><a href="#sub1">Submenu 1</a></li>'
+ ' </ul>'
+ ' </li>'
+ '</ul>'
+ '<div class="btn-group">'
+ ' <button class="btn">Actions</button>'
+ ' <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>'
+ ' <ul class="dropdown-menu">'
+ ' <li><a href="#">Action 1</a></li>'
+ ' </ul>'
+ '</div>'
, dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]')
, first = dropdowns.first()
, last = dropdowns.last()
ok(dropdowns.length == 2, "Should be two dropdowns")
first.click()
ok(first.parents('.open').length == 1, 'open class added on click')
ok($('#qunit-fixture .open').length == 1, 'only one object is open')
$('body').click()
ok($("#qunit-fixture .open").length === 0, 'open class removed')
last.click()
ok(last.parent('.open').length == 1, 'open class added on click')
ok($('#qunit-fixture .open').length == 1, 'only one object is open')
$('body').click()
ok($("#qunit-fixture .open").length === 0, 'open class removed')
$("#qunit-fixture").html("")
})
}) })
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-modal") module("bootstrap-modal")
test("should provide no conflict", function () {
var modal = $.fn.modal.noConflict()
ok(!$.fn.modal, 'modal was set back to undefined (org value)')
$.fn.modal = modal
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
var div = $("<div id='modal-test'></div>") var div = $("<div id='modal-test'></div>")
ok(div.modal, 'modal method is defined') ok(div.modal, 'modal method is defined')
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-popover") module("bootstrap-popover")
test("should provide no conflict", function () {
var popover = $.fn.popover.noConflict()
ok(!$.fn.popover, 'popover was set back to undefined (org value)')
$.fn.popover = popover
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
var div = $('<div></div>') var div = $('<div></div>')
ok(div.popover, 'popover method is defined') ok(div.popover, 'popover method is defined')
+6
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-scrollspy") module("bootstrap-scrollspy")
test("should provide no conflict", function () {
var scrollspy = $.fn.scrollspy.noConflict()
ok(!$.fn.scrollspy, 'scrollspy was set back to undefined (org value)')
$.fn.scrollspy = scrollspy
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).scrollspy, 'scrollspy method is defined') ok($(document.body).scrollspy, 'scrollspy method is defined')
}) })
+25
View File
@@ -2,6 +2,12 @@ $(function () {
module("bootstrap-tabs") module("bootstrap-tabs")
test("should provide no conflict", function () {
var tab = $.fn.tab.noConflict()
ok(!$.fn.tab, 'tab was set back to undefined (org value)')
$.fn.tab = tab
})
test("should be defined on jquery object", function () { test("should be defined on jquery object", function () {
ok($(document.body).tab, 'tabs method is defined') ok($(document.body).tab, 'tabs method is defined')
}) })
@@ -58,4 +64,23 @@ $(function () {
.tab('show') .tab('show')
}) })
test("show and shown events should reference correct relatedTarget", function () {
var dropHTML =
'<ul class="drop">'
+ '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>'
+ '<ul class="dropdown-menu">'
+ '<li><a href="#1-1" data-toggle="tab">1-1</a></li>'
+ '<li><a href="#1-2" data-toggle="tab">1-2</a></li>'
+ '</ul>'
+ '</li>'
+ '</ul>'
$(dropHTML).find('ul>li:first a').tab('show').end()
.find('ul>li:last a').on('show', function(event){
equals(event.relatedTarget.hash, "#1-1")
}).on('shown', function(event){
equals(event.relatedTarget.hash, "#1-1")
}).tab('show')
})
}) })

Some files were not shown because too many files have changed in this diff Show More