Commit b5af762e authored by Mark Otto's avatar Mark Otto
Browse files

Merge branch '2.1.2-wip'

Conflicts:
	js/bootstrap-dropdown.js
parents 7426ced0 68cfedb3
Showing with 515 additions and 364 deletions
+515 -364
/* ==========================================================
* 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))
}
}
}
}
\ No newline at end of file
# Contributing to Bootstrap
Looking to contribute something to Bootstrap? **Here's how you can help.**
## Reporting issues
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Bootstrap core. Please read the following guidelines before opening any issue.
1. **Search for existing issues.** We get a lot of duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
2. **Create an isolated and reproducible test case.** Be sure the problem exists in Bootstrap's code with a [reduced test cases](http://css-tricks.com/reduced-test-cases/) that should be included in each bug report.
3. **Include a live example.** Make use of jsFiddle or jsBin to share your isolated test cases.
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.
## Key branches
- `master` is the latest, deployed version.
- `gh-pages` is the hosted docs (not to be used for pull requests).
- `*-wip` is the official work in progress branch for the next release.
## Notes on the repo
As of v2.0.0, Bootstrap's documentation is powered by Mustache templates and built via `make` before each commit and release. This was done to enable internationalization (translation) in a future release by uploading our strings to the [Twitter Translation Center](http://translate.twttr.com/). Any edits to the docs should be first done in the Mustache files and then recompiled into the HTML.
## Pull requests
- Try to submit pull requests against the latest `*-wip` branch for easier merging
- Any changes to the docs must be made to the Mustache templates, not just the compiled HTML pages
- CSS changes must be done in .less files first, never just the compiled files
- If modifying the .less files, always recompile and commit the compiled files bootstrap.css and bootstrap.min.css
- Try not to pollute your pull request with unintended changes--keep them simple and small
- Try to share which browsers your code has been tested in before submitting a pull request
## Coding standards: HTML
- Two spaces for indentation, never tabs
- Double quotes only, never single quotes
- Always use proper indentation
- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags)
## Coding standards: CSS
- Adhere to the [Recess CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
- Multiple-line approach (one property and value per line)
- Always a space after a property's colon (.e.g, `display: block;` and not `display:block;`)
- End all lines with a semi-colon
- For multiple, comma-separated selectors, place each selector on it's own line
- Attribute selectors, like `input[type="text"]` should always wrap the attribute's value in double quotes, for consistency and safety (see this [blog post on unquoted attribute values](http://mathiasbynens.be/notes/unquoted-attribute-values) that can lead to XSS attacks).
## Coding standards: JS
- No semicolons
- Comma first
- 2 spaces (no tabs)
- strict mode
- "Attractive"
## License
By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twitter/bootstrap/blob/master/LICENSE
...@@ -28,7 +28,7 @@ build: ...@@ -28,7 +28,7 @@ build:
@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 @uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
@echo "/**\n* Bootstrap.js v2.1.1 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.2.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"
...@@ -97,12 +97,5 @@ watch: ...@@ -97,12 +97,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:
@haunt .issue-guidelines.js https://github.com/twitter/bootstrap
.PHONY: docs watch gh-pages .PHONY: docs watch gh-pages
\ No newline at end of file
[Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap) [Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
================= =================
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter. 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! To get started, checkout http://getbootstrap.com!
...@@ -10,7 +10,7 @@ To get started, checkout http://getbootstrap.com! ...@@ -10,7 +10,7 @@ To get started, checkout 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). Clone the repo, `git clone git://github.com/twitter/bootstrap.git`, [download the latest release](https://github.com/twitter/bootstrap/zipball/master), or install with twitter's [Bower](http://twitter.github.com/bower): `bower install bootstrap`.
...@@ -89,7 +89,7 @@ $ npm install recess connect uglify-js jshint -g ...@@ -89,7 +89,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.
......
{
"name": "bootstrap",
"version": "2.2.0",
"main": ["./docs/assets/js/bootstrap.js", "./docs/assets/css/bootstrap.css"],
"dependencies": {
"jquery": "~1.8.0"
}
}
\ No newline at end of file
/*! /*!
* Bootstrap Responsive v2.1.1 * Bootstrap Responsive v2.2.0
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
...@@ -215,6 +215,9 @@ ...@@ -215,6 +215,9 @@
.row-fluid [class*="span"]:first-child { .row-fluid [class*="span"]:first-child {
margin-left: 0; margin-left: 0;
} }
.row-fluid .controls-row [class*="span"] + [class*="span"] {
margin-left: 2.564102564102564%;
}
.row-fluid .span12 { .row-fluid .span12 {
width: 100%; width: 100%;
*width: 99.94680851063829%; *width: 99.94680851063829%;
...@@ -562,6 +565,9 @@ ...@@ -562,6 +565,9 @@
.row-fluid [class*="span"]:first-child { .row-fluid [class*="span"]:first-child {
margin-left: 0; margin-left: 0;
} }
.row-fluid .controls-row [class*="span"] + [class*="span"] {
margin-left: 2.7624309392265194%;
}
.row-fluid .span12 { .row-fluid .span12 {
width: 100%; width: 100%;
*width: 99.94680851063829%; *width: 99.94680851063829%;
...@@ -814,6 +820,7 @@ ...@@ -814,6 +820,7 @@
margin-left: 0; margin-left: 0;
} }
[class*="span"], [class*="span"],
.uneditable-input[class*="span"],
.row-fluid [class*="span"] { .row-fluid [class*="span"] {
display: block; display: block;
float: none; float: none;
...@@ -830,6 +837,9 @@ ...@@ -830,6 +837,9 @@
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
} }
.row-fluid [class*="offset"]:first-child {
margin-left: 0;
}
.input-large, .input-large,
.input-xlarge, .input-xlarge,
.input-xxlarge, .input-xxlarge,
...@@ -862,8 +872,11 @@ ...@@ -862,8 +872,11 @@
width: auto; width: auto;
margin: 0; margin: 0;
} }
.modal.fade {
top: -100px;
}
.modal.fade.in { .modal.fade.in {
top: auto; top: 20px;
} }
} }
...@@ -895,6 +908,16 @@ ...@@ -895,6 +908,16 @@
padding-right: 10px; padding-right: 10px;
padding-left: 10px; padding-left: 10px;
} }
.media .pull-left,
.media .pull-right {
display: block;
float: none;
margin-bottom: 10px;
}
.media-object {
margin-right: 0;
margin-left: 0;
}
.modal { .modal {
top: 10px; top: 10px;
right: 10px; right: 10px;
...@@ -979,6 +1002,10 @@ ...@@ -979,6 +1002,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;
......
This diff is collapsed.
...@@ -114,7 +114,7 @@ hr.soften { ...@@ -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;
} }
...@@ -133,7 +133,7 @@ hr.soften { ...@@ -133,7 +133,7 @@ hr.soften {
/* Download button */ /* Download button */
.masthead .btn { .masthead .btn {
padding: 14px 24px; padding: 19px 24px;
font-size: 24px; font-size: 24px;
font-weight: 200; font-weight: 200;
color: #fff; /* redeclare to override the `.jumbotron a` */ color: #fff; /* redeclare to override the `.jumbotron a` */
...@@ -275,7 +275,7 @@ hr.soften { ...@@ -275,7 +275,7 @@ 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 {
...@@ -303,7 +303,10 @@ hr.soften { ...@@ -303,7 +303,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;
} }
...@@ -754,7 +757,7 @@ form.bs-docs-example { ...@@ -754,7 +757,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 +824,9 @@ form.bs-docs-example { ...@@ -821,6 +824,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
...@@ -941,11 +947,11 @@ form.bs-docs-example { ...@@ -941,11 +947,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 +966,10 @@ form.bs-docs-example { ...@@ -960,7 +966,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 */
...@@ -994,6 +1003,11 @@ form.bs-docs-example { ...@@ -994,6 +1003,11 @@ form.bs-docs-example {
left: auto; left: auto;
} }
/* Tighten up footer */
.footer {
padding-top: 20px;
padding-bottom: 20px;
}
/* Unfloat the back to top in footer to prevent odd text wrapping */ /* Unfloat the back to top in footer to prevent odd text wrapping */
.footer .pull-right { .footer .pull-right {
float: none; float: none;
......
docs/assets/img/example-sites/8020select.png

61.4 KB

docs/assets/img/example-sites/adoptahydrant.png

133 KB

docs/assets/img/example-sites/breakingnews.png

71 KB

docs/assets/img/example-sites/gathercontent.png

74.8 KB

docs/assets/img/example-sites/kippt.png

46 KB | W: 0px | H: 0px

docs/assets/img/example-sites/kippt.png

47.1 KB | W: 0px | H: 0px

docs/assets/img/example-sites/kippt.png
docs/assets/img/example-sites/kippt.png
docs/assets/img/example-sites/kippt.png
docs/assets/img/example-sites/kippt.png
  • 2-up
  • Swipe
  • Onion skin
docs/assets/img/examples/bootstrap-example-carousel.png

52.6 KB

docs/assets/img/examples/bootstrap-example-marketing-narrow.png

21.4 KB

docs/assets/img/examples/bootstrap-example-signin.png

4.1 KB

docs/assets/img/examples/bootstrap-example-sticky-footer.png

9.52 KB

docs/assets/img/examples/browser-icon-chrome.png

54.2 KB

docs/assets/img/examples/browser-icon-firefox.png

172 KB

docs/assets/img/examples/browser-icon-safari.png

205 KB

Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment