Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merge branch '2.0.3-wip'

Conflicts:
	Makefile
	docs/assets/js/bootstrap.js
	docs/assets/js/bootstrap.min.js
  • Loading branch information...
commit e659dc7e1be2e09cec34703dce8c737496e3504e 2 parents 6506ede + 839ef3a
Jacob fat authored

Showing 110 changed files with 6,329 additions and 2,789 deletions. Show diff stats Hide diff stats

  1. +3 1 .gitignore
  2. +3 0  .travis.yml
  3. +53 22 Makefile
  4. +15 5 README.md
  5. BIN  docs/assets/bootstrap.zip
  6. +338 219 docs/assets/css/bootstrap-responsive.css
  7. +1,634 668 docs/assets/css/bootstrap.css
  8. +1 5 docs/assets/css/docs.css
  9. BIN  docs/assets/ico/apple-touch-icon-144-precomposed.png
  10. BIN  docs/assets/ico/apple-touch-icon-72-precomposed.png
  11. BIN  docs/assets/img/example-sites/kippt.png
  12. BIN  docs/assets/img/glyphicons-halflings-white.png
  13. BIN  docs/assets/img/glyphicons-halflings.png
  14. +6 2 docs/assets/js/application.js
  15. +28 32 docs/assets/js/bootstrap-alert.js
  16. +29 33 docs/assets/js/bootstrap-button.js
  17. +27 19 docs/assets/js/bootstrap-carousel.js
  18. +44 25 docs/assets/js/bootstrap-collapse.js
  19. +18 10 docs/assets/js/bootstrap-dropdown.js
  20. +25 17 docs/assets/js/bootstrap-modal.js
  21. +13 10 docs/assets/js/bootstrap-popover.js
  22. +43 17 docs/assets/js/bootstrap-scrollspy.js
  23. +12 7 docs/assets/js/bootstrap-tab.js
  24. +40 35 docs/assets/js/bootstrap-tooltip.js
  25. +30 20 docs/assets/js/bootstrap-transition.js
  26. +25 11 docs/assets/js/bootstrap-typeahead.js
  27. +334 236 docs/assets/js/bootstrap.js
  28. +1 1  docs/assets/js/bootstrap.min.js
  29. +109 90 docs/base-css.html
  30. +54 66 docs/components.html
  31. +22 6 docs/download.html
  32. +2 1  docs/examples.html
  33. +12 1 docs/examples/fluid.html
  34. +1 0  docs/examples/hero.html
  35. +1 0  docs/examples/starter-template.html
  36. +4 2 docs/index.html
  37. +71 21 docs/javascript.html
  38. +305 42 docs/less.html
  39. +12 14 docs/scaffolding.html
  40. +2 1  docs/templates/layout.mustache
  41. +107 89 docs/templates/pages/base-css.mustache
  42. +52 65 docs/templates/pages/components.mustache
  43. +20 5 docs/templates/pages/download.mustache
  44. +2 1  docs/templates/pages/index.mustache
  45. +69 20 docs/templates/pages/javascript.mustache
  46. +303 41 docs/templates/pages/less.mustache
  47. +16 19 docs/templates/pages/scaffolding.mustache
  48. +2 1  docs/upgrading.html
  49. BIN  img/glyphicons-halflings-white.png
  50. BIN  img/glyphicons-halflings.png
  51. +10 0 js/.jshintrc
  52. +8 2 js/README.md
  53. +28 32 js/bootstrap-alert.js
  54. +29 33 js/bootstrap-button.js
  55. +27 19 js/bootstrap-carousel.js
  56. +44 25 js/bootstrap-collapse.js
  57. +18 10 js/bootstrap-dropdown.js
  58. +25 17 js/bootstrap-modal.js
  59. +13 10 js/bootstrap-popover.js
  60. +43 17 js/bootstrap-scrollspy.js
  61. +12 7 js/bootstrap-tab.js
  62. +40 35 js/bootstrap-tooltip.js
  63. +30 20 js/bootstrap-transition.js
  64. +25 11 js/bootstrap-typeahead.js
  65. +6 1 js/tests/index.html
  66. +63 0 js/tests/phantom.js
  67. +14 0 js/tests/server.js
  68. +15 0 js/tests/unit/bootstrap-alert.js
  69. +28 0 js/tests/unit/bootstrap-carousel.js
  70. +15 0 js/tests/unit/bootstrap-collapse.js
  71. +34 0 js/tests/unit/bootstrap-dropdown.js
  72. +29 0 js/tests/unit/bootstrap-modal.js
  73. +21 0 js/tests/unit/bootstrap-phantom.js
  74. +16 0 js/tests/unit/bootstrap-tab.js
  75. +74 0 js/tests/unit/bootstrap-tooltip.js
  76. +1 1  js/tests/unit/bootstrap-transition.js
  77. +18 2 js/tests/unit/bootstrap-typeahead.js
  78. +5 0 less/accordion.less
  79. +0 36 less/badges.less
  80. +2 3 less/bootstrap.less
  81. +55 36 less/button-groups.less
  82. +15 11 less/buttons.less
  83. +12 1 less/close.less
  84. +4 4 less/code.less
  85. +3 3 less/component-animations.less
  86. +15 20 less/dropdowns.less
  87. +58 29 less/forms.less
  88. +55 0 less/labels-badges.less
  89. +0 38 less/labels.less
  90. +1 1  less/layouts.less
  91. +53 36 less/mixins.less
  92. +1 1  less/modals.less
  93. +64 41 less/navbar.less
  94. +36 36 less/navs.less
  95. +14 6 less/progress-bars.less
  96. +3 3 less/reset.less
  97. +23 0 less/responsive-1200px-min.less
  98. +149 0 less/responsive-767px-max.less
  99. +15 0 less/responsive-768px-979px.less
  100. +146 0 less/responsive-navbar.less
  101. +41 0 less/responsive-utilities.less
  102. +14 337 less/responsive.less
  103. +39 6 less/sprites.less
  104. +22 5 less/tables.less
  105. +49 0 less/tests/css-tests.css
  106. +808 0 less/tests/css-tests.html
  107. +11 2 less/thumbnails.less
  108. +7 6 less/type.less
  109. +10 6 less/variables.less
  110. +25 0 package.json
4 .gitignore
@@ -6,6 +6,7 @@
6 6 *.rej
7 7 *.swo
8 8 *.swp
  9 +*.zip
9 10 *.vi
10 11 *~
11 12 *.sass-cache
@@ -31,4 +32,5 @@ nbproject
31 32 .hg
32 33 .svn
33 34 .CVS
34   -.idea
  35 +.idea
  36 +node_modules
3  .travis.yml
... ... @@ -0,0 +1,3 @@
  1 +language: node_js
  2 +node_js:
  3 + - 0.6
75 Makefile
@@ -2,29 +2,57 @@ BOOTSTRAP = ./docs/assets/css/bootstrap.css
2 2 BOOTSTRAP_LESS = ./less/bootstrap.less
3 3 BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
4 4 BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
5   -LESS_COMPRESSOR ?= `which lessc`
6   -WATCHR ?= `which watchr`
  5 +DATE=$(shell date +%I:%M%p)
  6 +CHECK=\033[32m✔\033[39m
  7 +HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
  8 +
7 9
8 10 #
9 11 # BUILD DOCS
10 12 #
11 13
12   -docs: bootstrap
13   - rm docs/assets/bootstrap.zip
14   - zip -r docs/assets/bootstrap.zip bootstrap
15   - cp bootstrap/js/bootstrap.js docs/assets/js/bootstrap.js
16   - cp bootstrap/js/bootstrap.min.js docs/assets/js/bootstrap.min.js
17   - rm -r bootstrap
18   - lessc ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
19   - lessc ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
20   - node docs/build
21   - cp img/* docs/assets/img/
22   - cp js/*.js docs/assets/js/
23   - cp js/tests/vendor/jquery.js docs/assets/js/
  14 +build:
  15 + @echo "\n${HR}"
  16 + @echo "Building Bootstrap..."
  17 + @echo "${HR}\n"
  18 + @jshint js/*.js --config js/.jshintrc
  19 + @jshint js/tests/unit/*.js --config js/.jshintrc
  20 + @echo "Running JSHint on javascript... ${CHECK} Done"
  21 + @recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
  22 + @recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
  23 + @echo "Compiling LESS with Recess... ${CHECK} Done"
  24 + @node docs/build
  25 + @cp img/* docs/assets/img/
  26 + @cp js/*.js docs/assets/js/
  27 + @cp js/tests/vendor/jquery.js docs/assets/js/
  28 + @echo "Compiling documentation... ${CHECK} Done"
  29 + @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 > docs/assets/js/bootstrap.js
  30 + @uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
  31 + @echo "/**\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
  32 + @cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js
  33 + @rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
  34 + @echo "Compiling and minifying javascript... ${CHECK} Done"
  35 + @echo "\n${HR}"
  36 + @echo "Bootstrap successfully built at ${DATE}."
  37 + @echo "${HR}\n"
  38 + @echo "Thanks for using Bootstrap,"
  39 + @echo "<3 @mdo and @fat\n"
  40 +
  41 +#
  42 +# RUN JSHINT & QUNIT TESTS IN PHANTOMJS
  43 +#
  44 +
  45 +test:
  46 + jshint js/*.js --config js/.jshintrc
  47 + jshint js/tests/unit/*.js --config js/.jshintrc
  48 + node js/tests/server.js &
  49 + phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
  50 + kill -9 `cat js/tests/pid.txt`
  51 + rm js/tests/pid.txt
24 52
25 53 #
26 54 # BUILD SIMPLE BOOTSTRAP DIRECTORY
27   -# lessc & uglifyjs are required
  55 +# recess & uglifyjs are required
28 56 #
29 57
30 58 bootstrap:
@@ -32,13 +60,13 @@ bootstrap:
32 60 mkdir -p bootstrap/css
33 61 mkdir -p bootstrap/js
34 62 cp img/* bootstrap/img/
35   - lessc ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
36   - lessc --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
37   - lessc ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
38   - lessc --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
  63 + recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
  64 + recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
  65 + recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
  66 + recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
39 67 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 > bootstrap/js/bootstrap.js
40 68 uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
41   - 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
  69 + 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
42 70 cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
43 71 rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
44 72
@@ -46,7 +74,10 @@ bootstrap:
46 74 # MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
47 75 #
48 76
49   -gh-pages: docs
  77 +gh-pages: bootstrap docs
  78 + rm -f docs/assets/bootstrap.zip
  79 + zip -r docs/assets/bootstrap.zip bootstrap
  80 + rm -r bootstrap
50 81 rm -f ../bootstrap-gh-pages/assets/bootstrap.zip
51 82 node docs/build production
52 83 cp -r docs/* ../bootstrap-gh-pages
@@ -60,4 +91,4 @@ watch:
60 91 watchr -e "watch('less/.*\.less') { system 'make' }"
61 92
62 93
63   -.PHONY: docs watch gh-pages
  94 +.PHONY: docs watch gh-pages
20 README.md
Source Rendered
... ... @@ -1,4 +1,4 @@
1   -[Twitter Bootstrap](http://twitter.github.com/bootstrap)
  1 +[Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
2 2 =================
3 3
4 4 Bootstrap provides simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions. In other words, it's a front-end toolkit for faster, more beautiful web development. It's created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter.
@@ -25,9 +25,9 @@ Releases will be numbered with the follow format:
25 25
26 26 And constructed with the following guidelines:
27 27
28   -* Breaking backward compatibility bumps the major
29   -* New additions without breaking backward compatibility bumps the minor
30   -* Bug fixes and misc changes bump the patch
  28 +* Breaking backward compatibility bumps the major (and resets the minor and patch)
  29 +* New additions without breaking backward compatibility bumps the minor (and resets the patch)
  30 +* Bug fixes and misc changes bumps the patch
31 31
32 32 For more information on SemVer, please visit http://semver.org/.
33 33
@@ -81,8 +81,18 @@ Developers
81 81
82 82 We have included a makefile with convenience methods for working with the Bootstrap library.
83 83
  84 ++ **dependencies**
  85 +Our makefile depends on you having recess, uglify.js, and jshint installed. To install, just run the following command in npm:
  86 +
  87 +```
  88 +$ npm install recess uglify-js jshint -g
  89 +```
  90 +
84 91 + **build** - `make`
85   -Runs the LESS compiler to rebuild the `/less` files and compiles the docs pages. Requires lessc and uglify-js. <a href="http://twitter.github.com/bootstrap/less.html#compiling">Read more in our docs &raquo;</a>
  92 +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>
  93 +
  94 ++ **test** - `make test`
  95 +Runs jshint and qunit tests headlessly in phantom js (used for ci). Depends on having phatomjs installed.
86 96
87 97 + **watch** - `make watch`
88 98 This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
BIN  docs/assets/bootstrap.zip
Binary file not shown
557 docs/assets/css/bootstrap-responsive.css
... ... @@ -1,5 +1,5 @@
1 1 /*!
2   - * Bootstrap Responsive v2.0.2
  2 + * Bootstrap Responsive v2.0.3
3 3 *
4 4 * Copyright 2012 Twitter, Inc
5 5 * Licensed under the Apache License v2.0
@@ -7,85 +7,86 @@
7 7 *
8 8 * Designed and built with all the love in the world @twitter by @mdo and @fat.
9 9 */
  10 +
10 11 .clearfix {
11 12 *zoom: 1;
12 13 }
  14 +
13 15 .clearfix:before,
14 16 .clearfix:after {
15 17 display: table;
16 18 content: "";
17 19 }
  20 +
18 21 .clearfix:after {
19 22 clear: both;
20 23 }
  24 +
21 25 .hide-text {
22   - overflow: hidden;
23   - text-indent: 100%;
24   - white-space: nowrap;
  26 + font: 0/0 a;
  27 + color: transparent;
  28 + text-shadow: none;
  29 + background-color: transparent;
  30 + border: 0;
25 31 }
  32 +
26 33 .input-block-level {
27 34 display: block;
28 35 width: 100%;
29 36 min-height: 28px;
30   - /* Make inputs at least the height of their button counterpart */
31   -
32   - /* Makes inputs behave like true block-level elements */
33   -
34 37 -webkit-box-sizing: border-box;
35   - -moz-box-sizing: border-box;
36   - -ms-box-sizing: border-box;
37   - box-sizing: border-box;
  38 + -moz-box-sizing: border-box;
  39 + -ms-box-sizing: border-box;
  40 + box-sizing: border-box;
38 41 }
  42 +
39 43 .hidden {
40 44 display: none;
41 45 visibility: hidden;
42 46 }
  47 +
43 48 .visible-phone {
44   - display: none;
  49 + display: none !important;
45 50 }
  51 +
46 52 .visible-tablet {
47   - display: none;
48   -}
49   -.visible-desktop {
50   - display: block;
51   -}
52   -.hidden-phone {
53   - display: block;
54   -}
55   -.hidden-tablet {
56   - display: block;
  53 + display: none !important;
57 54 }
  55 +
58 56 .hidden-desktop {
59   - display: none;
  57 + display: none !important;
60 58 }
  59 +
61 60 @media (max-width: 767px) {
62 61 .visible-phone {
63   - display: block;
  62 + display: inherit !important;
64 63 }
65 64 .hidden-phone {
66   - display: none;
  65 + display: none !important;
67 66 }
68 67 .hidden-desktop {
69   - display: block;
  68 + display: inherit !important;
70 69 }
71 70 .visible-desktop {
72   - display: none;
  71 + display: none !important;
73 72 }
74 73 }
  74 +
75 75 @media (min-width: 768px) and (max-width: 979px) {
76 76 .visible-tablet {
77   - display: block;
  77 + display: inherit !important;
78 78 }
79 79 .hidden-tablet {
80   - display: none;
  80 + display: none !important;
81 81 }
82 82 .hidden-desktop {
83   - display: block;
  83 + display: inherit !important;
84 84 }
85 85 .visible-desktop {
86   - display: none;
  86 + display: none !important ;
87 87 }
88 88 }
  89 +
89 90 @media (max-width: 480px) {
90 91 .nav-collapse {
91 92 -webkit-transform: translate3d(0, 0, 0);
@@ -111,14 +112,14 @@
111 112 padding-top: 0;
112 113 }
113 114 .form-horizontal .form-actions {
114   - padding-left: 10px;
115 115 padding-right: 10px;
  116 + padding-left: 10px;
116 117 }
117 118 .modal {
118 119 position: absolute;
119 120 top: 10px;
120   - left: 10px;
121 121 right: 10px;
  122 + left: 10px;
122 123 width: auto;
123 124 margin: 0;
124 125 }
@@ -133,14 +134,28 @@
133 134 position: static;
134 135 }
135 136 }
  137 +
136 138 @media (max-width: 767px) {
137 139 body {
138   - padding-left: 20px;
139 140 padding-right: 20px;
  141 + padding-left: 20px;
140 142 }
141   - .navbar-fixed-top {
142   - margin-left: -20px;
  143 + .navbar-fixed-top,
  144 + .navbar-fixed-bottom {
143 145 margin-right: -20px;
  146 + margin-left: -20px;
  147 + }
  148 + .container-fluid {
  149 + padding: 0;
  150 + }
  151 + .dl-horizontal dt {
  152 + float: none;
  153 + width: auto;
  154 + clear: none;
  155 + text-align: left;
  156 + }
  157 + .dl-horizontal dd {
  158 + margin-left: 0;
144 159 }
145 160 .container {
146 161 width: auto;
@@ -148,19 +163,20 @@
148 163 .row-fluid {
149 164 width: 100%;
150 165 }
151   - .row {
  166 + .row,
  167 + .thumbnails {
152 168 margin-left: 0;
153 169 }
154   - .row > [class*="span"],
155   - .row-fluid > [class*="span"] {
156   - float: none;
  170 + [class*="span"],
  171 + .row-fluid [class*="span"] {
157 172 display: block;
  173 + float: none;
158 174 width: auto;
159   - margin: 0;
160   - }
161   - .thumbnails [class*="span"] {
162   - width: auto;
  175 + margin-left: 0;
163 176 }
  177 + .input-large,
  178 + .input-xlarge,
  179 + .input-xxlarge,
164 180 input[class*="span"],
165 181 select[class*="span"],
166 182 textarea[class*="span"],
@@ -168,20 +184,20 @@
168 184 display: block;
169 185 width: 100%;
170 186 min-height: 28px;
171   - /* Make inputs at least the height of their button counterpart */
172   -
173   - /* Makes inputs behave like true block-level elements */
174   -
175 187 -webkit-box-sizing: border-box;
176   - -moz-box-sizing: border-box;
177   - -ms-box-sizing: border-box;
178   - box-sizing: border-box;
  188 + -moz-box-sizing: border-box;
  189 + -ms-box-sizing: border-box;
  190 + box-sizing: border-box;
179 191 }
  192 + .input-prepend input,
  193 + .input-append input,
180 194 .input-prepend input[class*="span"],
181 195 .input-append input[class*="span"] {
  196 + display: inline-block;
182 197 width: auto;
183 198 }
184 199 }
  200 +
185 201 @media (min-width: 768px) and (max-width: 979px) {
186 202 .row {
187 203 margin-left: -20px;
@@ -288,205 +304,136 @@
288 304 .row-fluid:after {
289 305 clear: both;
290 306 }
291   - .row-fluid > [class*="span"] {
  307 + .row-fluid [class*="span"] {
  308 + display: block;
292 309 float: left;
  310 + width: 100%;
  311 + min-height: 28px;
293 312 margin-left: 2.762430939%;
  313 + *margin-left: 2.709239449638298%;
  314 + -webkit-box-sizing: border-box;
  315 + -moz-box-sizing: border-box;
  316 + -ms-box-sizing: border-box;
  317 + box-sizing: border-box;
294 318 }
295   - .row-fluid > [class*="span"]:first-child {
  319 + .row-fluid [class*="span"]:first-child {
296 320 margin-left: 0;
297 321 }
298   - .row-fluid > .span12 {
  322 + .row-fluid .span12 {
299 323 width: 99.999999993%;
  324 + *width: 99.9468085036383%;
300 325 }
301   - .row-fluid > .span11 {
  326 + .row-fluid .span11 {
302 327 width: 91.436464082%;
  328 + *width: 91.38327259263829%;
303 329 }
304   - .row-fluid > .span10 {
  330 + .row-fluid .span10 {
305 331 width: 82.87292817100001%;
  332 + *width: 82.8197366816383%;
306 333 }
307   - .row-fluid > .span9 {
  334 + .row-fluid .span9 {
308 335 width: 74.30939226%;
  336 + *width: 74.25620077063829%;
309 337 }
310   - .row-fluid > .span8 {
  338 + .row-fluid .span8 {
311 339 width: 65.74585634900001%;
  340 + *width: 65.6926648596383%;
312 341 }
313   - .row-fluid > .span7 {
  342 + .row-fluid .span7 {
314 343 width: 57.182320438000005%;
  344 + *width: 57.129128948638304%;
315 345 }
316   - .row-fluid > .span6 {
  346 + .row-fluid .span6 {
317 347 width: 48.618784527%;
  348 + *width: 48.5655930376383%;
318 349 }
319   - .row-fluid > .span5 {
  350 + .row-fluid .span5 {
320 351 width: 40.055248616%;
  352 + *width: 40.0020571266383%;
321 353 }
322   - .row-fluid > .span4 {
  354 + .row-fluid .span4 {
323 355 width: 31.491712705%;
  356 + *width: 31.4385212156383%;
324 357 }
325   - .row-fluid > .span3 {
  358 + .row-fluid .span3 {
326 359 width: 22.928176794%;
  360 + *width: 22.874985304638297%;
327 361 }
328   - .row-fluid > .span2 {
  362 + .row-fluid .span2 {
329 363 width: 14.364640883%;
  364 + *width: 14.311449393638298%;
330 365 }
331   - .row-fluid > .span1 {
  366 + .row-fluid .span1 {
332 367 width: 5.801104972%;
  368 + *width: 5.747913482638298%;
333 369 }
334 370 input,
335 371 textarea,
336 372 .uneditable-input {
337 373 margin-left: 0;
338 374 }
339   - input.span12, textarea.span12, .uneditable-input.span12 {
  375 + input.span12,
  376 + textarea.span12,
  377 + .uneditable-input.span12 {
340 378 width: 714px;
341 379 }
342   - input.span11, textarea.span11, .uneditable-input.span11 {
  380 + input.span11,
  381 + textarea.span11,
  382 + .uneditable-input.span11 {
343 383 width: 652px;
344 384 }
345   - input.span10, textarea.span10, .uneditable-input.span10 {
  385 + input.span10,
  386 + textarea.span10,
  387 + .uneditable-input.span10 {
346 388 width: 590px;
347 389 }
348   - input.span9, textarea.span9, .uneditable-input.span9 {
  390 + input.span9,
  391 + textarea.span9,
  392 + .uneditable-input.span9 {
349 393 width: 528px;
350 394 }
351   - input.span8, textarea.span8, .uneditable-input.span8 {
  395 + input.span8,
  396 + textarea.span8,
  397 + .uneditable-input.span8 {
352 398 width: 466px;
353 399 }
354   - input.span7, textarea.span7, .uneditable-input.span7 {
  400 + input.span7,
  401 + textarea.span7,
  402 + .uneditable-input.span7 {
355 403 width: 404px;
356 404 }
357   - input.span6, textarea.span6, .uneditable-input.span6 {
  405 + input.span6,
  406 + textarea.span6,
  407 + .uneditable-input.span6 {
358 408 width: 342px;
359 409 }
360   - input.span5, textarea.span5, .uneditable-input.span5 {
  410 + input.span5,
  411 + textarea.span5,
  412 + .uneditable-input.span5 {
361 413 width: 280px;
362 414 }
363   - input.span4, textarea.span4, .uneditable-input.span4 {
  415 + input.span4,
  416 + textarea.span4,
  417 + .uneditable-input.span4 {
364 418 width: 218px;
365 419 }
366   - input.span3, textarea.span3, .uneditable-input.span3 {
  420 + input.span3,
  421 + textarea.span3,
  422 + .uneditable-input.span3 {
367 423 width: 156px;
368 424 }
369   - input.span2, textarea.span2, .uneditable-input.span2 {
  425 + input.span2,
  426 + textarea.span2,
  427 + .uneditable-input.span2 {
370 428 width: 94px;
371 429 }
372   - input.span1, textarea.span1, .uneditable-input.span1 {
  430 + input.span1,
  431 + textarea.span1,
  432 + .uneditable-input.span1 {
373 433 width: 32px;
374 434 }
375 435 }
376   -@media (max-width: 979px) {
377   - body {
378   - padding-top: 0;
379   - }
380   - .navbar-fixed-top {
381   - position: static;
382   - margin-bottom: 18px;
383   - }
384   - .navbar-fixed-top .navbar-inner {
385   - padding: 5px;
386   - }
387   - .navbar .container {
388   - width: auto;
389   - padding: 0;
390   - }
391   - .navbar .brand {
392   - padding-left: 10px;
393   - padding-right: 10px;
394   - margin: 0 0 0 -5px;
395   - }
396   - .navbar .nav-collapse {
397   - clear: left;
398   - }
399   - .navbar .nav {
400   - float: none;
401   - margin: 0 0 9px;
402   - }
403   - .navbar .nav > li {
404   - float: none;
405   - }
406   - .navbar .nav > li > a {
407   - margin-bottom: 2px;
408   - }
409   - .navbar .nav > .divider-vertical {
410   - display: none;
411   - }
412   - .navbar .nav .nav-header {
413   - color: #999999;
414   - text-shadow: none;
415   - }
416   - .navbar .nav > li > a,
417   - .navbar .dropdown-menu a {
418   - padding: 6px 15px;
419   - font-weight: bold;
420   - color: #999999;
421   - -webkit-border-radius: 3px;
422   - -moz-border-radius: 3px;
423   - border-radius: 3px;
424   - }
425   - .navbar .dropdown-menu li + li a {
426   - margin-bottom: 2px;
427   - }
428   - .navbar .nav > li > a:hover,
429   - .navbar .dropdown-menu a:hover {
430   - background-color: #222222;
431   - }
432   - .navbar .dropdown-menu {
433   - position: static;
434   - top: auto;
435   - left: auto;
436   - float: none;
437   - display: block;
438   - max-width: none;
439   - margin: 0 15px;
440   - padding: 0;
441   - background-color: transparent;
442   - border: none;
443   - -webkit-border-radius: 0;
444   - -moz-border-radius: 0;
445   - border-radius: 0;
446   - -webkit-box-shadow: none;
447   - -moz-box-shadow: none;
448   - box-shadow: none;
449   - }
450   - .navbar .dropdown-menu:before,
451   - .navbar .dropdown-menu:after {
452   - display: none;
453   - }
454   - .navbar .dropdown-menu .divider {
455   - display: none;
456   - }
457   - .navbar-form,
458   - .navbar-search {
459   - float: none;
460   - padding: 9px 15px;
461   - margin: 9px 0;
462   - border-top: 1px solid #222222;
463   - border-bottom: 1px solid #222222;
464   - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
465   - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
466   - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
467   - }
468   - .navbar .nav.pull-right {
469   - float: none;
470   - margin-left: 0;
471   - }
472   - .navbar-static .navbar-inner {
473   - padding-left: 10px;
474   - padding-right: 10px;
475   - }
476   - .btn-navbar {
477   - display: block;
478   - }
479   - .nav-collapse {
480   - overflow: hidden;
481   - height: 0;
482   - }
483   -}
484   -@media (min-width: 980px) {
485   - .nav-collapse.collapse {
486   - height: auto !important;
487   - overflow: visible !important;
488   - }
489   -}
  436 +
490 437 @media (min-width: 1200px) {
491 438 .row {
492 439 margin-left: -30px;
@@ -593,94 +540,266 @@
593 540 .row-fluid:after {
594 541 clear: both;
595 542 }
596   - .row-fluid > [class*="span"] {
  543 + .row-fluid [class*="span"] {
  544 + display: block;
597 545 float: left;
  546 + width: 100%;
  547 + min-height: 28px;
598 548 margin-left: 2.564102564%;
  549 + *margin-left: 2.510911074638298%;
  550 + -webkit-box-sizing: border-box;
  551 + -moz-box-sizing: border-box;
  552 + -ms-box-sizing: border-box;
  553 + box-sizing: border-box;
599 554 }
600   - .row-fluid > [class*="span"]:first-child {
  555 + .row-fluid [class*="span"]:first-child {
601 556 margin-left: 0;
602 557 }
603   - .row-fluid > .span12 {
  558 + .row-fluid .span12 {
604 559 width: 100%;
  560 + *width: 99.94680851063829%;
605 561 }
606   - .row-fluid > .span11 {
  562 + .row-fluid .span11 {
607 563 width: 91.45299145300001%;
  564 + *width: 91.3997999636383%;
608 565 }
609   - .row-fluid > .span10 {
  566 + .row-fluid .span10 {
610 567 width: 82.905982906%;
  568 + *width: 82.8527914166383%;
611 569 }
612   - .row-fluid > .span9 {
  570 + .row-fluid .span9 {
613 571 width: 74.358974359%;
  572 + *width: 74.30578286963829%;
614 573 }
615   - .row-fluid > .span8 {
  574 + .row-fluid .span8 {
616 575 width: 65.81196581200001%;
  576 + *width: 65.7587743226383%;
617 577 }
618   - .row-fluid > .span7 {
  578 + .row-fluid .span7 {
619 579 width: 57.264957265%;
  580 + *width: 57.2117657756383%;
620 581 }
621   - .row-fluid > .span6 {
  582 + .row-fluid .span6 {
622 583 width: 48.717948718%;
  584 + *width: 48.6647572286383%;
623 585 }
624   - .row-fluid > .span5 {
  586 + .row-fluid .span5 {
625 587 width: 40.170940171000005%;
  588 + *width: 40.117748681638304%;
626 589 }
627   - .row-fluid > .span4 {
  590 + .row-fluid .span4 {
628 591 width: 31.623931624%;
  592 + *width: 31.5707401346383%;
629 593 }
630   - .row-fluid > .span3 {
  594 + .row-fluid .span3 {
631 595 width: 23.076923077%;
  596 + *width: 23.0237315876383%;
632 597 }
633   - .row-fluid > .span2 {
  598 + .row-fluid .span2 {
634 599 width: 14.529914530000001%;
  600 + *width: 14.4767230406383%;
635 601 }
636   - .row-fluid > .span1 {
  602 + .row-fluid .span1 {
637 603 width: 5.982905983%;
  604 + *width: 5.929714493638298%;
638 605 }
639 606 input,
640 607 textarea,
641 608 .uneditable-input {
642 609 margin-left: 0;
643 610 }
644   - input.span12, textarea.span12, .uneditable-input.span12 {
  611 + input.span12,
  612 + textarea.span12,
  613 + .uneditable-input.span12 {
645 614 width: 1160px;
646 615 }
647   - input.span11, textarea.span11, .uneditable-input.span11 {
  616 + input.span11,
  617 + textarea.span11,
  618 + .uneditable-input.span11 {
648 619 width: 1060px;
649 620 }
650   - input.span10, textarea.span10, .uneditable-input.span10 {
  621 + input.span10,
  622 + textarea.span10,
  623 + .uneditable-input.span10 {
651 624 width: 960px;
652 625 }
653   - input.span9, textarea.span9, .uneditable-input.span9 {
  626 + input.span9,
  627 + textarea.span9,
  628 + .uneditable-input.span9 {
654 629 width: 860px;
655 630 }
656   - input.span8, textarea.span8, .uneditable-input.span8 {
  631 + input.span8,
  632 + textarea.span8,
  633 + .uneditable-input.span8 {
657 634 width: 760px;
658 635 }
659   - input.span7, textarea.span7, .uneditable-input.span7 {
  636 + input.span7,
  637 + textarea.span7,
  638 + .uneditable-input.span7 {
660 639 width: 660px;
661 640 }
662   - input.span6, textarea.span6, .uneditable-input.span6 {
  641 + input.span6,
  642 + textarea.span6,
  643 + .uneditable-input.span6 {
663 644 width: 560px;
664 645 }
665   - input.span5, textarea.span5, .uneditable-input.span5 {
  646 + input.span5,
  647 + textarea.span5,
  648 + .uneditable-input.span5 {
666 649 width: 460px;
667 650 }
668   - input.span4, textarea.span4, .uneditable-input.span4 {
  651 + input.span4,
  652 + textarea.span4,
  653 + .uneditable-input.span4 {
669 654 width: 360px;
670 655 }
671   - input.span3, textarea.span3, .uneditable-input.span3 {
  656 + input.span3,
  657 + textarea.span3,
  658 + .uneditable-input.span3 {
672 659 width: 260px;
673 660 }
674   - input.span2, textarea.span2, .uneditable-input.span2 {
  661 + input.span2,
  662 + textarea.span2,
  663 + .uneditable-input.span2 {
675 664 width: 160px;
676 665 }
677   - input.span1, textarea.span1, .uneditable-input.span1 {
  666 + input.span1,
  667 + textarea.span1,
  668 + .uneditable-input.span1 {
678 669 width: 60px;
679 670 }
680 671 .thumbnails {
681 672 margin-left: -30px;
682 673 }
683   - .thumbnails > li {
684   - margin-left: 30px;
  674 + .row-fluid .thumbnails {
  675 + margin-left: 0;
  676 + }
  677 +}
  678 +
  679 +@media (max-width: 979px) {
  680 + body {
  681 + padding-top: 0;
  682 + }
  683 + .navbar-fixed-top {
  684 + position: static;
  685 + margin-bottom: 18px;
  686 + }
  687 + .navbar-fixed-top .navbar-inner {
  688 + padding: 5px;
  689 + }
  690 + .navbar .container {
  691 + width: auto;
  692 + padding: 0;
  693 + }
  694 + .navbar .brand {
  695 + padding-right: 10px;
  696 + padding-left: 10px;
  697 + margin: 0 0 0 -5px;
  698 + }
  699 + .nav-collapse {
  700 + clear: both;
  701 + }
  702 + .nav-collapse .nav {
  703 + float: none;
  704 + margin: 0 0 9px;
  705 + }
  706 + .nav-collapse .nav > li {
  707 + float: none;
  708 + }
  709 + .nav-collapse .nav > li > a {
  710 + margin-bottom: 2px;
  711 + }
  712 + .nav-collapse .nav > .divider-vertical {
  713 + display: none;
  714 + }
  715 + .nav-collapse .nav .nav-header {
  716 + color: #999999;
  717 + text-shadow: none;
  718 + }
  719 + .nav-collapse .nav > li > a,
  720 + .nav-collapse .dropdown-menu a {
  721 + padding: 6px 15px;
  722 + font-weight: bold;
  723 + color: #999999;
  724 + -webkit-border-radius: 3px;
  725 + -moz-border-radius: 3px;
  726 + border-radius: 3px;
  727 + }
  728 + .nav-collapse .btn {
  729 + padding: 4px 10px 4px;
  730 + font-weight: normal;
  731 + -webkit-border-radius: 4px;
  732 + -moz-border-radius: 4px;
  733 + border-radius: 4px;
  734 + }
  735 + .nav-collapse .dropdown-menu li + li a {
  736 + margin-bottom: 2px;
  737 + }
  738 + .nav-collapse .nav > li > a:hover,
  739 + .nav-collapse .dropdown-menu a:hover {
  740 + background-color: #222222;
  741 + }
  742 + .nav-collapse.in .btn-group {
  743 + padding: 0;
  744 + margin-top: 5px;
  745 + }
  746 + .nav-collapse .dropdown-menu {
  747 + position: static;
  748 + top: auto;
  749 + left: auto;
  750 + display: block;
  751 + float: none;
  752 + max-width: none;
  753 + padding: 0;
  754 + margin: 0 15px;
  755 + background-color: transparent;
  756 + border: none;
  757 + -webkit-border-radius: 0;
  758 + -moz-border-radius: 0;
  759 + border-radius: 0;
  760 + -webkit-box-shadow: none;
  761 + -moz-box-shadow: none;
  762 + box-shadow: none;
  763 + }
  764 + .nav-collapse .dropdown-menu:before,
  765 + .nav-collapse .dropdown-menu:after {
  766 + display: none;
  767 + }
  768 + .nav-collapse .dropdown-menu .divider {
  769 + display: none;
  770 + }
  771 + .nav-collapse .navbar-form,
  772 + .nav-collapse .navbar-search {
  773 + float: none;
  774 + padding: 9px 15px;
  775 + margin: 9px 0;
  776 + border-top: 1px solid #222222;
  777 + border-bottom: 1px solid #222222;
  778 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  779 + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  780 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  781 + }
  782 + .navbar .nav-collapse .nav.pull-right {
  783 + float: none;
  784 + margin-left: 0;
  785 + }
  786 + .nav-collapse,
  787 + .nav-collapse.collapse {
  788 + height: 0;
  789 + overflow: hidden;
  790 + }
  791 + .navbar .btn-navbar {
  792 + display: block;
  793 + }
  794 + .navbar-static .navbar-inner {
  795 + padding-right: 10px;
  796 + padding-left: 10px;
  797 + }
  798 +}
  799 +
  800 +@media (min-width: 980px) {
  801 + .nav-collapse.collapse {
  802 + height: auto !important;
  803 + overflow: visible !important;
685 804 }
686 805 }
2,302 docs/assets/css/bootstrap.css
1,634 additions, 668 deletions not shown
6 docs/assets/css/docs.css
@@ -228,7 +228,7 @@ hr.soften {
228 228 }
229 229 .quick-links li {
230 230 display: inline;
231   - margin: 0 5px;
  231 + margin: 0 8px;
232 232 color: #999;
233 233 }
234 234 .quick-links .github-btn,
@@ -492,10 +492,6 @@ hr.soften {
492 492 /* Misc
493 493 -------------------------------------------------- */
494 494
495   -img {
496   - max-width: 100%;
497   -}
498   -
499 495 /* Make tables spaced out a bit more */
500 496 h2 + table,
501 497 h3 + table,
BIN  docs/assets/ico/apple-touch-icon-144-precomposed.png
BIN  docs/assets/ico/apple-touch-icon-72-precomposed.png
BIN  docs/assets/img/example-sites/kippt.png
BIN  docs/assets/img/glyphicons-halflings-white.png
BIN  docs/assets/img/glyphicons-halflings.png
8 docs/assets/js/application.js
@@ -51,6 +51,11 @@
51 51
52 52 processScroll()
53 53
  54 + // hack sad times - holdover until rewrite for 2.1
  55 + $nav.on('click', function () {
  56 + if (!isFixed) setTimeout(function () { $win.scrollTop($win.scrollTop() - 47) }, 10)
  57 + })
  58 +
54 59 $win.on('scroll', processScroll)
55 60
56 61 function processScroll() {
@@ -132,7 +137,7 @@
132 137
133 138 $.ajax({
134 139 type: 'POST'
135   - , url: 'http://bootstrap.herokuapp.com'
  140 + , url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com'
136 141 , dataType: 'jsonpi'
137 142 , params: {
138 143 js: js
@@ -142,7 +147,6 @@
142 147 }
143 148 })
144 149 })
145   -
146 150 })
147 151
148 152 // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
60 docs/assets/js/bootstrap-alert.js
... ... @@ -1,5 +1,5 @@
1 1 /* ==========================================================
2   - * bootstrap-alert.js v2.0.2
  2 + * bootstrap-alert.js v2.0.3
3 3 * http://twitter.github.com/bootstrap/javascript.html#alerts
4 4 * ==========================================================
5 5 * Copyright 2012 Twitter, Inc.
@@ -18,61 +18,57 @@
18 18 * ========================================================== */
19 19
20 20