Commit 4fc29077 authored by Mark Otto's avatar Mark Otto

Merge branch 'master' into docs_derp

Conflicts:
	docs-assets/css/docs.css
	docs-assets/js/application.js
parents 0e8baab3 9966d035
{
"always-semicolon": true,
"block-indent": 2,
"colon-space": true,
"color-case": "lower",
"color-shorthand": true,
"combinator-space": true,
"element-case": "lower",
"eof-newline": true,
"leading-zero": false,
"remove-empty-rulesets": true,
"rule-indent": 2,
"stick-brace": true,
"strip-spaces": true,
"unitless-zero": true,
"vendor-prefix-align": true,
"sort-order": [
[
"position",
"top",
"right",
"bottom",
"left",
"z-index",
"display",
"float",
"width",
"min-width",
"max-width",
"height",
"min-height",
"max-height",
"-webkit-box-sizing",
"-moz-box-sizing",
"box-sizing",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"margin",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
"overflow",
"overflow-x",
"overflow-y",
"-ms-overflow-x",
"-ms-overflow-y",
"clip",
"clear",
"font",
"font-family",
"font-size",
"font-style",
"font-weight",
"font-variant",
"font-size-adjust",
"font-stretch",
"font-effect",
"font-emphasize",
"font-emphasize-position",
"font-emphasize-style",
"font-smooth",
"-webkit-hyphens",
"-moz-hyphens",
"hyphens",
"line-height",
"color",
"text-align",
"-webkit-text-align-last",
"-moz-text-align-last",
"-ms-text-align-last",
"text-align-last",
"text-emphasis",
"text-emphasis-color",
"text-emphasis-style",
"text-emphasis-position",
"text-decoration",
"text-indent",
"text-justify",
"text-outline",
"-ms-text-overflow",
"text-overflow",
"text-overflow-ellipsis",
"text-overflow-mode",
"text-shadow",
"text-transform",
"text-wrap",
"letter-spacing",
"-ms-word-break",
"word-break",
"word-spacing",
"-ms-word-wrap",
"word-wrap",
"-moz-tab-size",
"-o-tab-size",
"tab-size",
"white-space",
"vertical-align",
"list-style",
"list-style-position",
"list-style-type",
"list-style-image",
"pointer-events",
"cursor",
"visibility",
"zoom",
"flex-direction",
"flex-order",
"flex-pack",
"flex-align",
"table-layout",
"empty-cells",
"caption-side",
"border-spacing",
"border-collapse",
"content",
"quotes",
"counter-reset",
"counter-increment",
"resize",
"-webkit-user-select",
"-moz-user-select",
"-ms-user-select",
"user-select",
"nav-index",
"nav-up",
"nav-right",
"nav-down",
"nav-left",
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
"background",
"background-color",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
"filter:progid:DXImageTransform.Microsoft.gradient",
"background-image",
"background-repeat",
"background-attachment",
"background-position",
"background-position-x",
"background-position-y",
"-webkit-background-clip",
"-moz-background-clip",
"background-clip",
"background-origin",
"-webkit-background-size",
"-moz-background-size",
"-o-background-size",
"background-size",
"border",
"border-color",
"border-style",
"border-width",
"border-top",
"border-top-color",
"border-top-style",
"border-top-width",
"border-right",
"border-right-color",
"border-right-style",
"border-right-width",
"border-bottom",
"border-bottom-color",
"border-bottom-style",
"border-bottom-width",
"border-left",
"border-left-color",
"border-left-style",
"border-left-width",
"border-radius",
"border-top-left-radius",
"border-top-right-radius",
"border-bottom-right-radius",
"border-bottom-left-radius",
"-webkit-border-image",
"-moz-border-image",
"-o-border-image",
"border-image",
"-webkit-border-image-source",
"-moz-border-image-source",
"-o-border-image-source",
"border-image-source",
"-webkit-border-image-slice",
"-moz-border-image-slice",
"-o-border-image-slice",
"border-image-slice",
"-webkit-border-image-width",
"-moz-border-image-width",
"-o-border-image-width",
"border-image-width",
"-webkit-border-image-outset",
"-moz-border-image-outset",
"-o-border-image-outset",
"border-image-outset",
"-webkit-border-image-repeat",
"-moz-border-image-repeat",
"-o-border-image-repeat",
"border-image-repeat",
"outline",
"outline-width",
"outline-style",
"outline-color",
"outline-offset",
"-webkit-box-shadow",
"-moz-box-shadow",
"box-shadow",
"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
"opacity",
"-ms-interpolation-mode",
"-webkit-transition",
"-moz-transition",
"-ms-transition",
"-o-transition",
"transition",
"-webkit-transition-delay",
"-moz-transition-delay",
"-ms-transition-delay",
"-o-transition-delay",
"transition-delay",
"-webkit-transition-timing-function",
"-moz-transition-timing-function",
"-ms-transition-timing-function",
"-o-transition-timing-function",
"transition-timing-function",
"-webkit-transition-duration",
"-moz-transition-duration",
"-ms-transition-duration",
"-o-transition-duration",
"transition-duration",
"-webkit-transition-property",
"-moz-transition-property",
"-ms-transition-property",
"-o-transition-property",
"transition-property",
"-webkit-transform",
"-moz-transform",
"-ms-transform",
"-o-transform",
"transform",
"-webkit-transform-origin",
"-moz-transform-origin",
"-ms-transform-origin",
"-o-transform-origin",
"transform-origin",
"-webkit-animation",
"-moz-animation",
"-ms-animation",
"-o-animation",
"animation",
"-webkit-animation-name",
"-moz-animation-name",
"-ms-animation-name",
"-o-animation-name",
"animation-name",
"-webkit-animation-duration",
"-moz-animation-duration",
"-ms-animation-duration",
"-o-animation-duration",
"animation-duration",
"-webkit-animation-play-state",
"-moz-animation-play-state",
"-ms-animation-play-state",
"-o-animation-play-state",
"animation-play-state",
"-webkit-animation-timing-function",
"-moz-animation-timing-function",
"-ms-animation-timing-function",
"-o-animation-timing-function",
"animation-timing-function",
"-webkit-animation-delay",
"-moz-animation-delay",
"-ms-animation-delay",
"-o-animation-delay",
"animation-delay",
"-webkit-animation-iteration-count",
"-moz-animation-iteration-count",
"-ms-animation-iteration-count",
"-o-animation-iteration-count",
"animation-iteration-count",
"-webkit-animation-direction",
"-moz-animation-direction",
"-ms-animation-direction",
"-o-animation-direction",
"animation-direction"
]
]
}
{
"adjoining-classes": false,
"box-sizing": false,
"box-model": false,
"compatible-vendor-prefixes": false,
"floats": false,
"font-sizes": false,
"gradients": false,
"important": false,
"known-properties": false,
"outline-none": false,
"qualified-headings": false,
"regex-selectors": false,
"text-indent": false,
"unique-headings": false,
"universal-selector": false,
"unqualified-attributes": false
}
# Enforce Unix newlines
*.css text eol=lf
*.html text eol=lf
*.js text eol=lf
*.json text eol=lf
*.less text eol=lf
*.md text eol=lf
*.yml text eol=lf
...@@ -6,6 +6,5 @@ before_script: ...@@ -6,6 +6,5 @@ before_script:
- npm install -g grunt-cli - npm install -g grunt-cli
env: env:
global: global:
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w= - SAUCE_USERNAME: bootstrap
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew= - secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
- TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
...@@ -17,7 +17,7 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso ...@@ -17,7 +17,7 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso
## Pull requests ## Pull requests
- CSS changes must be done in `.less` files first, never just the compiled `.css` files - CSS changes must be done in `.less` files first, never just in the compiled `.css` files
- If modifying the `.less` files, always recompile and commit the compiled files `bootstrap.css` and `bootstrap.min.css` - 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 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 - Try to share which browsers your code has been tested in before submitting a pull request
...@@ -58,7 +58,7 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso ...@@ -58,7 +58,7 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso
With v3.1, we're moving from the Apache 2 to the MIT license for the Bootstrap code (not the docs). We're in the process of collecting permissions from all Bootstrap contributors with code still part of the project to make this happen. For details, please see [#2054](https://github.com/twbs/bootstrap/issues/2054). With v3.1, we're moving from the Apache 2 to the MIT license for the Bootstrap code (not the docs). We're in the process of collecting permissions from all Bootstrap contributors with code still part of the project to make this happen. For details, please see [#2054](https://github.com/twbs/bootstrap/issues/2054).
By contributing your code, you agree to dual-license your contribution under the [Apache 2](https://github.com/twbs/bootstrap/blob/master/LICENSE) and [MIT](https://github.com/twbs/bootstrap/blob/master/MIT) licenses. By contributing your code, you agree to dual-license your contribution under the [Apache 2](https://github.com/twbs/bootstrap/blob/master/LICENSE) and [MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE-MIT) licenses.
......
/* jshint node: true */ /* jshint node: true */
module.exports = function(grunt) { module.exports = function (grunt) {
"use strict"; 'use strict';
// Force use of Unix newlines
grunt.util.linefeed = '\n';
RegExp.quote = require('regexp-quote') RegExp.quote = require('regexp-quote')
var btoa = require('btoa') var btoa = require('btoa')
...@@ -11,11 +14,9 @@ module.exports = function(grunt) { ...@@ -11,11 +14,9 @@ module.exports = function(grunt) {
// Metadata. // Metadata.
pkg: grunt.file.readJSON('package.json'), pkg: grunt.file.readJSON('package.json'),
banner: '/*!\n' + banner: '/*!\n' +
' * Bootstrap v<%= pkg.version %> by @fat and @mdo\n' + ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + ' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
' * Licensed under <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' + ' * Licensed under <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
' *\n' +
' * Designed and built with all the love in the world by @mdo and @fat.\n' +
' */\n\n', ' */\n\n',
jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }\n\n', jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }\n\n',
...@@ -36,9 +37,34 @@ module.exports = function(grunt) { ...@@ -36,9 +37,34 @@ module.exports = function(grunt) {
}, },
test: { test: {
src: ['js/tests/unit/*.js'] src: ['js/tests/unit/*.js']
},
assets: {
src: ['docs-assets/js/application.js', 'docs-assets/js/customizer.js']
} }
}, },
jscs: {
options: {
config: 'js/.jscs.json',
},
gruntfile: {
src: ['Gruntfile.js']
},
src: {
src: ['js/*.js']
},
test: {
src: ['js/tests/unit/*.js']
}
},
csslint: {
options: {
csslintrc: '.csslintrc'
},
src: ['dist/css/bootstrap.css', 'dist/css/bootstrap-theme.css']
},
concat: { concat: {
options: { options: {
banner: '<%= banner %><%= jqueryCheck %>', banner: '<%= banner %><%= jqueryCheck %>',
...@@ -71,42 +97,74 @@ module.exports = function(grunt) { ...@@ -71,42 +97,74 @@ module.exports = function(grunt) {
bootstrap: { bootstrap: {
src: ['<%= concat.bootstrap.dest %>'], src: ['<%= concat.bootstrap.dest %>'],
dest: 'dist/js/<%= pkg.name %>.min.js' dest: 'dist/js/<%= pkg.name %>.min.js'
},
customize: {
src: [
'docs-assets/js/less.js',
'docs-assets/js/jszip.js',
'docs-assets/js/uglify.js',
'docs-assets/js/filesaver.js',
'docs-assets/js/customizer.js'
],
dest: 'docs-assets/js/customize.js'
} }
}, },
recess: { less: {
compile: {
options: { options: {
compile: true, strictMath: true
banner: '<%= banner %>'
}, },
bootstrap: { files: {
src: ['less/bootstrap.less'], 'dist/css/<%= pkg.name %>.css': 'less/bootstrap.less',
dest: 'dist/css/<%= pkg.name %>.css' 'dist/css/<%= pkg.name %>-theme.css': 'less/theme.less'
}
}, },
min: { minify: {
options: { options: {
compress: true cleancss: true,
report: 'min'
},
files: {
'dist/css/<%= pkg.name %>.min.css': 'dist/css/<%= pkg.name %>.css',
'dist/css/<%= pkg.name %>-theme.min.css': 'dist/css/<%= pkg.name %>-theme.css'
}
}
}, },
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.min.css' usebanner: {
dist: {
options: {
position: 'top',
banner: '<%= banner %>'
}, },
theme: { files: {
src: ['less/theme.less'], src: [
dest: 'dist/css/<%= pkg.name %>-theme.css' 'dist/css/<%= pkg.name %>.css',
'dist/css/<%= pkg.name %>.min.css',
'dist/css/<%= pkg.name %>-theme.css',
'dist/css/<%= pkg.name %>-theme.min.css',
]
}
}
}, },
theme_min: {
csscomb: {
sort: {
options: { options: {
compress: true sortOrder: '.csscomb.json'
}, },
src: ['less/theme.less'], files: {
dest: 'dist/css/<%= pkg.name %>-theme.min.css' 'dist/css/<%= pkg.name %>.css': ['dist/css/<%= pkg.name %>.css'],
'dist/css/<%= pkg.name %>-theme.css': ['dist/css/<%= pkg.name %>-theme.css'],
}
} }
}, },
copy: { copy: {
fonts: { fonts: {
expand: true, expand: true,
src: ["fonts/*"], src: ['fonts/*'],
dest: 'dist/' dest: 'dist/'
} }
}, },
...@@ -135,12 +193,12 @@ module.exports = function(grunt) { ...@@ -135,12 +193,12 @@ module.exports = function(grunt) {
options: { options: {
reset: true, reset: true,
relaxerror: [ relaxerror: [
"Bad value X-UA-Compatible for attribute http-equiv on element meta.", 'Bad value X-UA-Compatible for attribute http-equiv on element meta.',
"Element img is missing required attribute src." 'Element img is missing required attribute src.'
] ]
}, },
files: { files: {
src: ["_gh_pages/**/*.html"] src: ['_gh_pages/**/*.html']
} }
}, },
...@@ -153,9 +211,9 @@ module.exports = function(grunt) { ...@@ -153,9 +211,9 @@ module.exports = function(grunt) {
files: '<%= jshint.test.src %>', files: '<%= jshint.test.src %>',
tasks: ['jshint:test', 'qunit'] tasks: ['jshint:test', 'qunit']
}, },
recess: { less: {
files: 'less/*.less', files: 'less/*.less',
tasks: ['recess'] tasks: ['less']
} }
}, },
...@@ -168,36 +226,116 @@ module.exports = function(grunt) { ...@@ -168,36 +226,116 @@ module.exports = function(grunt) {
replacement: grunt.option('newver'), replacement: grunt.option('newver'),
recursive: true recursive: true
} }
},
'saucelabs-qunit': {
all: {
options: {
build: process.env.TRAVIS_JOB_ID,
concurrency: 3,
urls: ['http://127.0.0.1:3000/js/tests/index.html'],
browsers: [
// See https://saucelabs.com/docs/platforms/webdriver
{
browserName: 'safari',
version: '6',
platform: 'OS X 10.8'
},
{
browserName: 'chrome',
version: '28',
platform: 'OS X 10.6'
},
/* FIXME: currently fails 1 tooltip test
{
browserName: 'firefox',
version: '25',
platform: 'OS X 10.6'
},*/
// Mac Opera not currently supported by Sauce Labs
/* FIXME: currently fails 1 tooltip test
{
browserName: 'internet explorer',
version: '11',
platform: 'Windows 8.1'
},*/
/*
{
browserName: 'internet explorer',
version: '10',
platform: 'Windows 8'
},
{
browserName: 'internet explorer',
version: '9',
platform: 'Windows 7'
},
{
browserName: 'internet explorer',
version: '8',
platform: 'Windows 7'
},
{// unofficial
browserName: 'internet explorer',
version: '7',
platform: 'Windows XP'
},
*/
{
browserName: 'chrome',
version: '31',
platform: 'Windows 8.1'
},
{
browserName: 'firefox',
version: '25',
platform: 'Windows 8.1'
},
// Win Opera 15+ not currently supported by Sauce Labs
{
browserName: 'iphone',
version: '6.1',
platform: 'OS X 10.8'
},
// iOS Chrome not currently supported by Sauce Labs
// Linux (unofficial)
{
browserName: 'chrome',
version: '30',
platform: 'Linux'
},
{
browserName: 'firefox',
version: '25',
platform: 'Linux'
}
// Android Chrome not currently supported by Sauce Labs
/* Android Browser (super-unofficial)
{
browserName: 'android',
version: '4.0',
platform: 'Linux'
}
*/
],
}
}
} }
}); });
// These plugins provide necessary tasks. // These plugins provide necessary tasks.
grunt.loadNpmTasks('browserstack-runner'); require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-html-validation');
grunt.loadNpmTasks('grunt-jekyll');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-sed');
// Docs HTML validation task // Docs HTML validation task
grunt.registerTask('validate-html', ['jekyll', 'validation']); grunt.registerTask('validate-html', ['jekyll', 'validation']);
// Test task. // Test task.
var testSubtasks = ['dist-css', 'jshint', 'qunit', 'validate-html']; var testSubtasks = ['dist-css', 'jshint', 'jscs', 'qunit', 'validate-html'];
// Only run BrowserStack tests under Travis // Only run Sauce Labs tests if there's a Sauce access key
if (process.env.TRAVIS) { if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined') {
// Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key testSubtasks.push('connect');
if ((process.env.TRAVIS_REPO_SLUG === 'twbs/bootstrap' && process.env.TRAVIS_PULL_REQUEST === 'false') || process.env.TWBS_HAVE_OWN_BROWSERSTACK_KEY) { testSubtasks.push('saucelabs-qunit');
testSubtasks.push('browserstack_runner');
}
} }
grunt.registerTask('test', testSubtasks); grunt.registerTask('test', testSubtasks);
...@@ -205,7 +343,7 @@ module.exports = function(grunt) { ...@@ -205,7 +343,7 @@ module.exports = function(grunt) {
grunt.registerTask('dist-js', ['concat', 'uglify']); grunt.registerTask('dist-js', ['concat', 'uglify']);
// CSS distribution task. // CSS distribution task.
grunt.registerTask('dist-css', ['recess']); grunt.registerTask('dist-css', ['less', 'csscomb', 'usebanner']);
// Fonts distribution task. // Fonts distribution task.
grunt.registerTask('dist-fonts', ['copy']); grunt.registerTask('dist-fonts', ['copy']);
......
# [Bootstrap](http://getbootstrap.com) [![Build Status](https://secure.travis-ci.org/twbs/bootstrap.png)](http://travis-ci.org/twbs/bootstrap) [![devDependency Status](https://david-dm.org/twbs/bootstrap/dev-status.png)](https://david-dm.org/twbs/bootstrap#info=devDependencies) # [Bootstrap](http://getbootstrap.com) [![Build Status](https://secure.travis-ci.org/twbs/bootstrap.png)](http://travis-ci.org/twbs/bootstrap) [![devDependency Status](https://david-dm.org/twbs/bootstrap/dev-status.png)](https://david-dm.org/twbs/bootstrap#info=devDependencies)
[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/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). 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).
...@@ -10,7 +11,7 @@ To get started, check out <http://getbootstrap.com>! ...@@ -10,7 +11,7 @@ To get started, check out <http://getbootstrap.com>!
Three quick start options are available: Three quick start options are available:
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.0.2.zip). * [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.0.3.zip).
* Clone the repo: `git clone https://github.com/twbs/bootstrap.git`. * Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
* Install with [Bower](http://bower.io): `bower install bootstrap`. * Install with [Bower](http://bower.io): `bower install bootstrap`.
...@@ -56,8 +57,9 @@ Bootstrap's documentation, included in this repo in the root directory, is built ...@@ -56,8 +57,9 @@ Bootstrap's documentation, included in this repo in the root directory, is built
### Running documentation locally ### Running documentation locally
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v1.x). 1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v1.x).
- **Windows users:** read [this unofficial guide](https://github.com/juthilo/run-jekyll-on-windows/) to get Jekyll up and running without problems.
2. From the root `/bootstrap` directory, run `jekyll serve` in the command line. 2. From the root `/bootstrap` directory, run `jekyll serve` in the command line.
- **Windows users:** run `chcp 65001` first to change the command prompt's character encoding ([code page](http://en.wikipedia.org/wiki/Windows_code_page)) to UTF-8 so Jekyll runs without errors. - **Windows users:** For Ruby 2.0.0 run `chcp 65001` first to change the command prompt's character encoding ([code page](http://en.wikipedia.org/wiki/Windows_code_page)) to UTF-8 so Jekyll runs without errors. For Ruby 1.9.3 you can alternatively do `SET LANG=en_EN.UTF-8`. In addition, ensure you have Python installed and added in your `PATH` or the build will fail due to our Pygments dependency.
3. Open <http://localhost:9001> in your browser, and voilà. 3. Open <http://localhost:9001> in your browser, and voilà.
Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/). Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
...@@ -122,7 +124,6 @@ Keep track of development and community news. ...@@ -122,7 +124,6 @@ Keep track of development and community news.
* Follow [@twbootstrap on Twitter](http://twitter.com/twbootstrap). * Follow [@twbootstrap on Twitter](http://twitter.com/twbootstrap).
* Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). * Read and subscribe to [The Official 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. * Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##twitter-bootstrap` channel.
......
...@@ -11,15 +11,15 @@ exclude: [".editorconfig", ".gitignore", "bower.json", "composer.json", ...@@ -11,15 +11,15 @@ exclude: [".editorconfig", ".gitignore", "bower.json", "composer.json",
port: 9001 port: 9001
# Custom vars # Custom vars
current_version: 3.0.2 current_version: 3.0.3
repo: https://github.com/twbs/bootstrap repo: https://github.com/twbs/bootstrap
download_source: https://github.com/twbs/bootstrap/archive/v3.0.2.zip download_source: https://github.com/twbs/bootstrap/archive/v3.0.3.zip
download_dist: https://github.com/twbs/bootstrap/releases/download/v3.0.2/bootstrap-3.0.2-dist.zip download_dist: https://github.com/twbs/bootstrap/releases/download/v3.0.3/bootstrap-3.0.3-dist.zip
blog: http://blog.getbootstrap.com blog: http://blog.getbootstrap.com
expo: http://expo.getbootstrap.com expo: http://expo.getbootstrap.com
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css
cdn_theme_css: //netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap-theme.min.css cdn_theme_css: //netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js
...@@ -25,23 +25,33 @@ ...@@ -25,23 +25,33 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- 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 src="https://code.jquery.com/jquery-1.10.2.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="{{ page.base_url }}dist/js/bootstrap.js"></script> <script src="{{ page.base_url }}dist/js/bootstrap.min.js"></script>
<script src="http://platform.twitter.com/widgets.js"></script>
<script src="{{ page.base_url }}docs-assets/js/holder.js"></script> <script src="{{ page.base_url }}docs-assets/js/holder.js"></script>
<script src="{{ page.base_url }}docs-assets/js/application.js"></script> <script src="{{ page.base_url }}docs-assets/js/application.js"></script>
{% if page.slug == "customize" %} {% if page.slug == "customize" %}
<script src="{{ page.base_url }}docs-assets/js/less.js"></script>
<script src="{{ page.base_url }}docs-assets/js/jszip.js"></script>
<script src="{{ page.base_url }}docs-assets/js/uglify.js"></script>
<script src="{{ page.base_url }}docs-assets/js/filesaver.js"></script>
<script src="{{ page.base_url }}docs-assets/js/raw-files.js"></script> <script src="{{ page.base_url }}docs-assets/js/raw-files.js"></script>
<script src="{{ page.base_url }}docs-assets/js/customizer.js"></script> <script src="{{ page.base_url }}docs-assets/js/customize.js"></script>
{% endif %} {% endif %}
{% comment %}
Inject Twitter widgets asynchronously. Snippet snipped from Twitter's
JS interface site: https://dev.twitter.com/docs/tfw-javascript
* "js.async=1;" added to add async attribute to the generated script tag.
{% endcomment %}
<script>
window.twttr = (function (d,s,id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id; js.async=1;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>
<!-- Analytics <!-- Analytics
================================================== --> ================================================== -->
<script> <script>
......
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<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="Bootstrap, a sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.">
<meta name="author" content=""> <meta name="keywords" content="HTML, CSS, JS, JavaScript, framework, bootstrap, front-end, frontend, web development">
<meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
<title> <title>
{% if page.title == "Bootstrap" %} {% if page.title == "Bootstrap" %}
......
...@@ -121,6 +121,7 @@ ...@@ -121,6 +121,7 @@
<li><a href="#list-group-basic">Basic example</a></li> <li><a href="#list-group-basic">Basic example</a></li>
<li><a href="#list-group-badges">Badges</a></li> <li><a href="#list-group-badges">Badges</a></li>
<li><a href="#list-group-linked">Linked items</a></li> <li><a href="#list-group-linked">Linked items</a></li>
<li><a href="#list-group-contextual-classes">Contextual classes</a></li>
<li><a href="#list-group-custom-content">Custom content</a></li> <li><a href="#list-group-custom-content">Custom content</a></li>
</ul> </ul>
</li> </li>
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<li><a href="#grid-media-queries">Media queries</a></li> <li><a href="#grid-media-queries">Media queries</a></li>
<li><a href="#grid-options">Grid options</a></li> <li><a href="#grid-options">Grid options</a></li>
<li><a href="#grid-example-basic">Ex: Stacked-to-horizonal</a></li> <li><a href="#grid-example-basic">Ex: Stacked-to-horizonal</a></li>
<li><a href="#grid-example-fluid">Ex: Fluid container</a></li>
<li><a href="#grid-example-mixed">Ex: Mobile and desktops</a></li> <li><a href="#grid-example-mixed">Ex: Mobile and desktops</a></li>
<li><a href="#grid-example-mixed-complete">Ex: Mobile, tablet, desktops</a></li> <li><a href="#grid-example-mixed-complete">Ex: Mobile, tablet, desktops</a></li>
<li><a href="#grid-responsive-resets">Responsive column resets</a></li> <li><a href="#grid-responsive-resets">Responsive column resets</a></li>
...@@ -37,7 +38,14 @@ ...@@ -37,7 +38,14 @@
<li><a href="#type-lists">Lists</a></li> <li><a href="#type-lists">Lists</a></li>
</ul> </ul>
</li> </li>
<li><a href="#code">Code</a></li> <li>
<a href="#code">Code</a>
<ul class="nav">
<li><a href="#code-inline">Inline code</a></li>
<li><a href="#code-user-input">User input</a></li>
<li><a href="#code-block">Blocks of code</a></li>
</ul>
</li>
<li> <li>
<a href="#tables">Tables</a> <a href="#tables">Tables</a>
<ul class="nav"> <ul class="nav">
......
...@@ -8,6 +8,10 @@ ...@@ -8,6 +8,10 @@
</li> </li>
<li> <li>
<a href="#whats-included">What's included</a> <a href="#whats-included">What's included</a>
<ul class="nav">
<li><a href="#whats-included-precompiled">Precompiled</a></li>
<li><a href="#whats-included-source">Source code</a></li>
</ul>
</li> </li>
<li> <li>
<a href="#template">Basic template</a> <a href="#template">Basic template</a>
......
...@@ -89,7 +89,6 @@ base_url: "../" ...@@ -89,7 +89,6 @@ base_url: "../"
<p class="lead">Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.</p> <p class="lead">Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.</p>
<ul> <ul>
<li>Read and subscribe to <a href="http://blog.getbootstrap.com/">The Official Bootstrap Blog</a>.</li> <li>Read and subscribe to <a href="http://blog.getbootstrap.com/">The Official Bootstrap Blog</a>.</li>
<li>Have a question that's not a feature request or bug report? <a href="http://groups.google.com/group/twitter-bootstrap">Ask on the mailing list.</a></li>
<li>Chat with fellow Bootstrappers using IRC in the <code>irc.freenode.net</code> server, in the <a href="irc://irc.freenode.net/#twitter-bootstrap">##twitter-bootstrap channel</a>.</li> <li>Chat with fellow Bootstrappers using IRC in the <code>irc.freenode.net</code> server, in the <a href="irc://irc.freenode.net/#twitter-bootstrap">##twitter-bootstrap channel</a>.</li>
<li>Find inspiring examples of people building with Bootstrap at the <a href="http://expo.getbootstrap.com">Bootstrap Expo</a>.</li> <li>Find inspiring examples of people building with Bootstrap at the <a href="http://expo.getbootstrap.com">Bootstrap Expo</a>.</li>
</ul> </ul>
...@@ -108,6 +107,8 @@ base_url: "../" ...@@ -108,6 +107,8 @@ base_url: "../"
<li><a href="http://v3.bootcss.com/">Bootstrap 中文文档 (Chinese)</a></li> <li><a href="http://v3.bootcss.com/">Bootstrap 中文文档 (Chinese)</a></li>
<li><a href="http://www.oneskyapp.com/docs/bootstrap/ru">Bootstrap по-русски (Russian)</a></li> <li><a href="http://www.oneskyapp.com/docs/bootstrap/ru">Bootstrap по-русски (Russian)</a></li>
<li><a href="http://www.oneskyapp.com/docs/bootstrap/es">Bootstrap en Español (Spanish)</a></li> <li><a href="http://www.oneskyapp.com/docs/bootstrap/es">Bootstrap en Español (Spanish)</a></li>
<li><a href="http://twbs.site-konstruktor.com.ua">Bootstrap ua Українською (Ukrainian)</a></li>
<li><a href="http://www.oneskyapp.com/docs/bootstrap/fr">Bootstrap en Français (French)</a></li>
</ul> </ul>
<p>Have another language to add, or perhaps a different or better translation? Let us know by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a>.</p> <p>Have another language to add, or perhaps a different or better translation? Let us know by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a>.</p>
</div> </div>
{ {
"name": "bootstrap", "name": "bootstrap",
"version": "3.0.2", "version": "3.0.3",
"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css", "./dist/fonts/*"], "main": [
"./dist/js/bootstrap.js",
"./dist/css/bootstrap.css",
"./dist/fonts/glyphicons-halflings-regular.eot",
"./dist/fonts/glyphicons-halflings-regular.svg",
"./dist/fonts/glyphicons-halflings-regular.ttf",
"./dist/fonts/glyphicons-halflings-regular.woff"
],
"ignore": [ "ignore": [
"**/.*", "**/.*",
"_*", "_*",
...@@ -11,10 +18,7 @@ ...@@ -11,10 +18,7 @@
"js/tests", "js/tests",
"CNAME", "CNAME",
"CONTRIBUTING.md", "CONTRIBUTING.md",
"Gruntfile.js",
"browserstack.json",
"composer.json", "composer.json",
"package.json",
"*.html" "*.html"
], ],
"dependencies": { "dependencies": {
......
{
"username": "--secure--",
"key": "--secure--",
"test_path": "js/tests/index.html",
"browsers": [
{
"browser": "firefox",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "safari",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "chrome",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "firefox",
"browser_version": "latest",
"os": "Windows",
"os_version": "7"
},
{
"browser": "chrome",
"browser_version": "latest",
"os": "Windows",
"os_version": "7"
}
]
}
This diff is collapsed.
...@@ -54,7 +54,8 @@ base_url: "../" ...@@ -54,7 +54,8 @@ base_url: "../"
<p>For improved cross-browser rendering, we use <a href="http://necolas.github.io/normalize.css/" target="_blank">Normalize</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>.</p> <p>For improved cross-browser rendering, we use <a href="http://necolas.github.io/normalize.css/" target="_blank">Normalize</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>.</p>
<h3 id="overview-container">Containers</h3> <h3 id="overview-container">Containers</h3>
<p>Easily center a page's contents by wrapping its contents in a <code>.container</code>. Containers set <code>max-width</code> at various media query breakpoints to match our grid system.</p> <p>Easily center a page's contents by wrapping its contents in a <code>.container</code>. Containers set <code>width</code> at various media query breakpoints to match our grid system.</p>
<p>Note that, due to <code>padding</code> and fixed widths, containers are not nestable by default.</p>
{% highlight html %} {% highlight html %}
<div class="container"> <div class="container">
... ...
...@@ -75,7 +76,7 @@ base_url: "../" ...@@ -75,7 +76,7 @@ base_url: "../"
<h3 id="grid-intro">Introduction</h3> <h3 id="grid-intro">Introduction</h3>
<p>Grid systems are used for creating page layouts through a series of rows and columns that house your content. Here's how the Bootstrap grid system works:</p> <p>Grid systems are used for creating page layouts through a series of rows and columns that house your content. Here's how the Bootstrap grid system works:</p>
<ul> <ul>
<li>Rows must be placed within a <code>.container</code> for proper alignment and padding.</li> <li>Rows must be placed within a <code>.container</code> (fixed-width) or <code>.container-fluid</code> (full-width) for proper alignment and padding.</li>
<li>Use rows to create horizontal groups of columns.</li> <li>Use rows to create horizontal groups of columns.</li>
<li>Content should be placed within columns, and only columns may be immediate children of rows.</li> <li>Content should be placed within columns, and only columns may be immediate children of rows.</li>
<li>Predefined grid classes like <code>.row</code> and <code>.col-xs-4</code> are available for quickly making grid layouts. LESS mixins can also be used for more semantic layouts.</li> <li>Predefined grid classes like <code>.row</code> and <code>.col-xs-4</code> are available for quickly making grid layouts. LESS mixins can also be used for more semantic layouts.</li>
...@@ -144,7 +145,7 @@ base_url: "../" ...@@ -144,7 +145,7 @@ base_url: "../"
<td colspan="3">Collapsed to start, horizontal above breakpoints</td> <td colspan="3">Collapsed to start, horizontal above breakpoints</td>
</tr> </tr>
<tr> <tr>
<th>Max container width</th> <th>Container width</th>
<td>None (auto)</td> <td>None (auto)</td>
<td>750px</td> <td>750px</td>
<td>970px</td> <td>970px</td>
...@@ -178,13 +179,11 @@ base_url: "../" ...@@ -178,13 +179,11 @@ base_url: "../"
</tr> </tr>
<tr> <tr>
<th>Offsets</th> <th>Offsets</th>
<td colspan="1" class="text-muted">N/A</td> <td colspan="4">Yes</td>
<td colspan="3">Yes</td>
</tr> </tr>
<tr> <tr>
<th>Column ordering</th> <th>Column ordering</th>
<td class="text-muted">N/A</td> <td colspan="4">Yes</td>
<td colspan="3">Yes</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -250,6 +249,16 @@ base_url: "../" ...@@ -250,6 +249,16 @@ base_url: "../"
<div class="col-md-6">.col-md-6</div> <div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div> <div class="col-md-6">.col-md-6</div>
</div> </div>
{% endhighlight %}
<h3 id="grid-example-fluid">Example: Fluid container</h3>
<p>Turn any fixed-width grid layout into a full-width layout by changing your outermost <code>.container</code> to <code>.container-fluid</code>.</p>
{% highlight html %}
<div class="container-fluid">
<div class="row">
...
</div>
</div>
{% endhighlight %} {% endhighlight %}
<h3 id="grid-example-mixed">Example: Mobile and desktop</h3> <h3 id="grid-example-mixed">Example: Mobile and desktop</h3>
...@@ -871,7 +880,7 @@ base_url: "../" ...@@ -871,7 +880,7 @@ base_url: "../"
<p>Style and content changes for simple variations on a standard <code>&lt;blockquote&gt;</code>.</p> <p>Style and content changes for simple variations on a standard <code>&lt;blockquote&gt;</code>.</p>
<h4>Naming a source</h4> <h4>Naming a source</h4>
<p>Add <code>&lt;small&gt;</code> tag for identifying the source. Wrap the name of the source work in <code>&lt;cite&gt;</code>.</p> <p>Add <code>&lt;small&gt;</code> tag or <code>.small</code> class for identifying the source. Wrap the name of the source work in <code>&lt;cite&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example">
<blockquote> <blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
...@@ -1048,7 +1057,7 @@ base_url: "../" ...@@ -1048,7 +1057,7 @@ base_url: "../"
<h1 id="code">Code</h1> <h1 id="code">Code</h1>
</div> </div>
<h2>Inline</h2> <h2 id="code-inline">Inline</h2>
<p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p> <p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example">
For example, <code>&lt;section&gt;</code> should be wrapped as inline. For example, <code>&lt;section&gt;</code> should be wrapped as inline.
...@@ -1057,7 +1066,16 @@ base_url: "../" ...@@ -1057,7 +1066,16 @@ base_url: "../"
For example, <code>&lt;section&gt;</code> should be wrapped as inline. For example, <code>&lt;section&gt;</code> should be wrapped as inline.
{% endhighlight %} {% endhighlight %}
<h2>Basic block</h2> <h2 id="code-user-input">User input</h2>
<p>Use the <code>&lt;kbd&gt;</code> to indicate input that is typically entered via keyboard.</p>
<div class="bs-example">
To switch directories, type <kbd>cd</kbd> followed the name of the directory.
</div>
{% highlight html %}
To switch directories, type <kbd>cd</kbd> followed the name of the directory.
{% endhighlight %}
<h2 id="code-block">Basic block</h2>
<p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.</p> <p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.</p>
<div class="bs-example"> <div class="bs-example">
<pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre> <pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre>
...@@ -1328,6 +1346,12 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -1328,6 +1346,12 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
</td> </td>
<td>Indicates a dangerous or potentially negative action</td> <td>Indicates a dangerous or potentially negative action</td>
</tr> </tr>
<tr>
<td>
<code>.info</code>
</td>
<td>Indicates a neutral informative change or action</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -1384,6 +1408,18 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -1384,6 +1408,18 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
<td>Column content</td> <td>Column content</td>
<td>Column content</td> <td>Column content</td>
</tr> </tr>
<tr>
<td>8</td>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr class="info">
<td>9</td>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
</tbody> </tbody>
</table> </table>
</div><!-- /example --> </div><!-- /example -->
...@@ -1393,6 +1429,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -1393,6 +1429,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
<tr class="success">...</tr> <tr class="success">...</tr>
<tr class="warning">...</tr> <tr class="warning">...</tr>
<tr class="danger">...</tr> <tr class="danger">...</tr>
<tr class="info">...</tr>
<!-- On cells (`td` or `th`) --> <!-- On cells (`td` or `th`) -->
<tr> <tr>
...@@ -1400,6 +1437,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -1400,6 +1437,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
<td class="success">...</td> <td class="success">...</td>
<td class="warning">...</td> <td class="warning">...</td>
<td class="danger">...</td> <td class="danger">...</td>
<td class="info">...</td>
</tr> </tr>
{% endhighlight %} {% endhighlight %}
...@@ -1567,7 +1605,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -1567,7 +1605,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
<h2 id="forms-inline">Inline form</h2> <h2 id="forms-inline">Inline form</h2>
<p>Add <code>.form-inline</code> for left-aligned and inline-block controls for a compact layout.</p> <p>Add <code>.form-inline</code> to your <code>&lt;form&gt;</code> for left-aligned and inline-block controls. <strong>This only applies to forms within viewports that are at least 768px wide.</strong></p>
<div class="bs-callout bs-callout-danger"> <div class="bs-callout bs-callout-danger">
<h4>Requires custom widths</h4> <h4>Requires custom widths</h4>
<p>Inputs, selects, and textareas are 100% wide by default in Bootstrap. To use the inline form, you'll have to set a width on the form controls used within.</p> <p>Inputs, selects, and textareas are 100% wide by default in Bootstrap. To use the inline form, you'll have to set a width on the form controls used within.</p>
......
...@@ -56,7 +56,7 @@ base_url: "../" ...@@ -56,7 +56,7 @@ base_url: "../"
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>
<input type="checkbox" checked value="buttons.less"> <input type="checkbox" checked value="buttons.less" data-dependents="button-groups.less">
Buttons Buttons
</label> </label>
</div> </div>
...@@ -436,7 +436,7 @@ base_url: "../" ...@@ -436,7 +436,7 @@ base_url: "../"
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<label>@headings-font-family</label> <label>@headings-font-family</label>
<input type="text" class="form-control" placeholder="@font-family-base" data-var="@headings-font-family"> <input type="text" class="form-control" placeholder="inherit" data-var="@headings-font-family">
<label>@headings-font-weight</label> <label>@headings-font-weight</label>
<input type="text" class="form-control" placeholder="500" data-var="@headings-font-weight"> <input type="text" class="form-control" placeholder="500" data-var="@headings-font-weight">
</div> </div>
...@@ -1056,7 +1056,7 @@ base_url: "../" ...@@ -1056,7 +1056,7 @@ base_url: "../"
<p class="help-block">Hovered dropdown menu entry text color</p> <p class="help-block">Hovered dropdown menu entry text color</p>
<label>@dropdown-link-hover-bg</label> <label>@dropdown-link-hover-bg</label>
<input type="text" class="form-control" placeholder="#f5f5f5" data-var="@dropdown-link-hover-bg"> <input type="text" class="form-control" placeholder="#f5f5f5" data-var="@dropdown-link-hover-bg">
<p class="help-block">Hovered dropdown menu entry text color</p> <p class="help-block">Hovered dropdown menu entry background color</p>
<label>@dropdown-link-active-color</label> <label>@dropdown-link-active-color</label>
<input type="text" class="form-control" placeholder="@component-active-color" data-var="@dropdown-link-active-color"> <input type="text" class="form-control" placeholder="@component-active-color" data-var="@dropdown-link-active-color">
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
...@@ -624,14 +624,14 @@ h1[id] { ...@@ -624,14 +624,14 @@ h1[id] {
border-color: #faebcc; border-color: #faebcc;
} }
.bs-callout-warning h4 { .bs-callout-warning h4 {
color: #c09853; color: #8a6d3b;
} }
.bs-callout-info { .bs-callout-info {
background-color: #f4f8fa; background-color: #f4f8fa;
border-color: #bce8f1; border-color: #bce8f1;
} }
.bs-callout-info h4 { .bs-callout-info h4 {
color: #3a87ad; color: #34789a;
} }
...@@ -959,7 +959,6 @@ h1[id] { ...@@ -959,7 +959,6 @@ h1[id] {
*/ */
.highlight { .highlight {
display: none; /* hidden by default, until >480px */
padding: 9px 14px; padding: 9px 14px;
margin-bottom: 14px; margin-bottom: 14px;
background-color: #f7f7f9; background-color: #f7f7f9;
...@@ -987,13 +986,6 @@ h1[id] { ...@@ -987,13 +986,6 @@ h1[id] {
color: #bebec5; color: #bebec5;
} }
/* Show code snippets when we have the space */
@media (min-width: 481px) {
.highlight {
display: block;
}
}
/* /*
* Responsive tests * Responsive tests
...@@ -1075,20 +1067,19 @@ h1[id] { ...@@ -1075,20 +1067,19 @@ h1[id] {
*/ */
.bs-glyphicons { .bs-glyphicons {
margin: 0 -19px 20px -16px;
overflow: hidden;
}
.bs-glyphicons-list {
padding-left: 0; padding-left: 0;
padding-bottom: 1px;
margin-bottom: 20px;
margin-left: -1px;
margin-right: -1px;
list-style: none; list-style: none;
overflow: hidden;
} }
.bs-glyphicons li { .bs-glyphicons li {
float: left; float: left;
width: 25%; width: 25%;
height: 115px; height: 115px;
padding: 10px; padding: 10px;
font-size: 12px; font-size: 10px;
line-height: 1.4; line-height: 1.4;
text-align: center; text-align: center;
border: 1px solid #fff; border: 1px solid #fff;
...@@ -1102,6 +1093,7 @@ h1[id] { ...@@ -1102,6 +1093,7 @@ h1[id] {
.bs-glyphicons .glyphicon-class { .bs-glyphicons .glyphicon-class {
display: block; display: block;
text-align: center; text-align: center;
word-wrap: break-word; /* Help out IE10+ with class names */
} }
.bs-glyphicons li:hover { .bs-glyphicons li:hover {
color: #fff; color: #fff;
...@@ -1109,8 +1101,13 @@ h1[id] { ...@@ -1109,8 +1101,13 @@ h1[id] {
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.bs-glyphicons {
margin-left: 0;
margin-right: 0;
}
.bs-glyphicons li { .bs-glyphicons li {
width: 12.5%; width: 12.5%;
font-size: 12px;
} }
} }
......
...@@ -12,19 +12,19 @@ ...@@ -12,19 +12,19 @@
!function ($) { !function ($) {
$(function(){ $(function () {
// IE10 viewport hack for Surface/desktop Windows 8 bug // IE10 viewport hack for Surface/desktop Windows 8 bug
// //
// See Getting Started docs for more information // See Getting Started docs for more information
if (navigator.userAgent.match(/IEMobile\/10\.0/)) { if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement("style"); var msViewportStyle = document.createElement('style');
msViewportStyle.appendChild( msViewportStyle.appendChild(
document.createTextNode( document.createTextNode(
"@-ms-viewport{width:auto!important}" '@-ms-viewport{width:auto!important}'
) )
); );
document.getElementsByTagName("head")[0]. document.getElementsByTagName('head')[0].
appendChild(msViewportStyle); appendChild(msViewportStyle);
} }
...@@ -73,29 +73,23 @@ ...@@ -73,29 +73,23 @@
// tooltip demo // tooltip demo
$('.tooltip-demo').tooltip({ $('.tooltip-demo').tooltip({
selector: "[data-toggle=tooltip]", selector: '[data-toggle=tooltip]',
container: "body" container: 'body'
}) })
$('.tooltip-test').tooltip() $('.tooltip-test').tooltip()
$('.popover-test').popover() $('.popover-test').popover()
$('.bs-docs-navbar').tooltip({ $('.bs-docs-navbar').tooltip({
selector: "a[data-toggle=tooltip]", selector: 'a[data-toggle=tooltip]',
container: ".bs-docs-navbar .nav" container: '.bs-docs-navbar .nav'
}) })
// $('.bs-masthead').popover({
// selector: ".btn-lg",
// trigger: "hover",
// placement: "top"
// })
// popover demo // popover demo
$("[data-toggle=popover]").popover() $("[data-toggle=popover]").popover()
// button state demo // button state demo
$('#fat-btn') $('#loading-example-btn')
.click(function () { .click(function () {
var btn = $(this) var btn = $(this)
btn.button('loading') btn.button('loading')
...@@ -103,6 +97,6 @@ ...@@ -103,6 +97,6 @@
btn.button('reset') btn.button('reset')
}, 3000) }, 3000)
}) })
}) })
}(window.jQuery) }(jQuery)
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
*/ */
/* jshint multistr:true */
window.onload = function () { // wait for load in a dumb way because B-0 window.onload = function () { // wait for load in a dumb way because B-0
var cw = '/*!\n * Bootstrap v3.0.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n' var cw = '/*!\n * Bootstrap v3.0.3 (http://getbootstrap.com)\n\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n'
function showError(msg, err) { function showError(msg, err) {
$('<div id="bsCustomizerAlert" class="bs-customizer-alert">\ $('<div id="bsCustomizerAlert" class="bs-customizer-alert">\
...@@ -34,18 +35,18 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -34,18 +35,18 @@ window.onload = function () { // wait for load in a dumb way because B-0
} }
function getQueryParam(key) { function getQueryParam(key) {
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, '\\$&'); // escape RegEx meta chars
var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)")); var match = location.search.match(new RegExp('[?&]' + key + '=([^&]+)(&|$)'));
return match && decodeURIComponent(match[1].replace(/\+/g, " ")); return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
} }
function createGist(configJson) { function createGist(configJson) {
var data = { var data = {
"description": "Bootstrap Customizer Config", 'description': 'Bootstrap Customizer Config',
"public": true, 'public': true,
"files": { 'files': {
"config.json": { 'config.json': {
"content": configJson 'content': configJson
} }
} }
} }
...@@ -55,11 +56,11 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -55,11 +56,11 @@ window.onload = function () { // wait for load in a dumb way because B-0
dataType: 'json', dataType: 'json',
data: JSON.stringify(data) data: JSON.stringify(data)
}) })
.success(function(result) { .success(function (result) {
var origin = window.location.protocol + "//" + window.location.host var origin = window.location.protocol + '//' + window.location.host
history.replaceState(false, document.title, origin + window.location.pathname + '?id=' + result.id) history.replaceState(false, document.title, origin + window.location.pathname + '?id=' + result.id)
}) })
.error(function(err) { .error(function (err) {
showError('<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.', err) showError('<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.', err)
}) })
} }
...@@ -69,7 +70,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -69,7 +70,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
$('#less-variables-section input') $('#less-variables-section input')
.each(function () { .each(function () {
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val()) $(this).val() && (vars[$(this).prev().text()] = $(this).val())
}) })
var data = { var data = {
...@@ -93,7 +94,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -93,7 +94,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
type: 'GET', type: 'GET',
dataType: 'json' dataType: 'json'
}) })
.success(function(result) { .success(function (result) {
var data = JSON.parse(result.files['config.json'].content) var data = JSON.parse(result.files['config.json'].content)
if (data.js) { if (data.js) {
$('#plugin-section input').each(function () { $('#plugin-section input').each(function () {
...@@ -111,7 +112,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -111,7 +112,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
} }
} }
}) })
.error(function(err) { .error(function (err) {
showError('Error fetching bootstrap config file', err) showError('Error fetching bootstrap config file', err)
}) })
} }
...@@ -130,15 +131,15 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -130,15 +131,15 @@ window.onload = function () { // wait for load in a dumb way because B-0
if (js) { if (js) {
var jsFolder = zip.folder('js') var jsFolder = zip.folder('js')
for (var fileName in js) { for (var jsFileName in js) {
jsFolder.file(fileName, js[fileName]) jsFolder.file(jsFileName, js[jsFileName])
} }
} }
if (fonts) { if (fonts) {
var fontsFolder = zip.folder('fonts') var fontsFolder = zip.folder('fonts')
for (var fileName in fonts) { for (var fontsFileName in fonts) {
fontsFolder.file(fileName, fonts[fileName], {base64: true}) fontsFolder.file(fontsFileName, fonts[fontsFileName], {base64: true})
} }
} }
...@@ -146,7 +147,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -146,7 +147,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
zip.file('config.json', config) zip.file('config.json', config)
} }
var content = zip.generate({type:"blob"}) var content = zip.generate({ type: 'blob' })
complete(content) complete(content)
} }
...@@ -201,7 +202,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -201,7 +202,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
$('#less-variables-section input') $('#less-variables-section input')
.each(function () { .each(function () {
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val()) $(this).val() && (vars[$(this).prev().text()] = $(this).val())
}) })
$.each(bootstrapLessFilenames(), function(index, filename) { $.each(bootstrapLessFilenames(), function(index, filename) {
...@@ -310,22 +311,22 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -310,22 +311,22 @@ window.onload = function () { // wait for load in a dumb way because B-0
generateZip(generateCSS(), generateJavascript(), generateFonts(), configJson, function (blob) { generateZip(generateCSS(), generateJavascript(), generateFonts(), configJson, function (blob) {
$compileBtn.removeAttr('disabled') $compileBtn.removeAttr('disabled')
saveAs(blob, "bootstrap.zip") saveAs(blob, 'bootstrap.zip')
createGist(configJson) createGist(configJson)
}) })
}) })
// browser support alerts // browser support alerts
if (!window.URL && navigator.userAgent.toLowerCase().indexOf('safari') != -1) { if (!window.URL && navigator.userAgent.toLowerCase().indexOf('safari') != -1) {
showCallout("Looks like you're using safari, which sadly doesn't have the best support\ showCallout('Looks like you\'re using safari, which sadly doesn\'t have the best support\
for HTML5 blobs. Because of this your file will be downloaded with the name <code>\"untitled\"</code>.\ for HTML5 blobs. Because of this your file will be downloaded with the name <code>"untitled"</code>.\
However, if you check your downloads folder, just rename this <code>\"untitled\"</code> file\ However, if you check your downloads folder, just rename this <code>"untitled"</code> file\
to <code>\"bootstrap.zip\"</code> and you should be good to go!") to <code>"bootstrap.zip"</code> and you should be good to go!')
} else if (!window.URL && !window.webkitURL) { } else if (!window.URL && !window.webkitURL) {
$('.bs-docs-section, .bs-sidebar').css('display', 'none') $('.bs-docs-section, .bs-sidebar').css('display', 'none')
showCallout("Looks like your current browser doesn't support the Bootstrap Customizer. Please take a second\ showCallout('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second\
to <a href=\"https://www.google.com/intl/en/chrome/browser/\"> upgrade to a more modern browser</a>.", true) to <a href="https://www.google.com/intl/en/chrome/browser/"> upgrade to a more modern browser</a>.', true)
} }
parseUrl() parseUrl()
......
This diff is collapsed.
This diff is collapsed.
...@@ -16,7 +16,9 @@ Usage: ...@@ -16,7 +16,9 @@ Usage:
base64zip = zip.generate(); base64zip = zip.generate();
**/ **/
"use strict"; // We use strict, but it should not be placed outside of a function because
// the environment is shared inside the browser.
// "use strict";
/** /**
* Representation a of zip file in js * Representation a of zip file in js
...@@ -93,8 +95,8 @@ JSZip.support = { ...@@ -93,8 +95,8 @@ JSZip.support = {
catch(e) {} catch(e) {}
try { try {
var builder = new (window.BlobBuilder || window.WebKitBlobBuilder || var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;
window.MozBlobBuilder || window.MSBlobBuilder)(); var builder = new BlobBuilder();
builder.append(buffer); builder.append(buffer);
return builder.getBlob('application/zip').size === 0; return builder.getBlob('application/zip').size === 0;
} }
...@@ -161,7 +163,7 @@ JSZip.prototype = (function () { ...@@ -161,7 +163,7 @@ JSZip.prototype = (function () {
return file.asBinary(); return file.asBinary();
} }
return result; return result;
} };
/** /**
* Transform this._data into a string. * Transform this._data into a string.
...@@ -287,9 +289,11 @@ JSZip.prototype = (function () { ...@@ -287,9 +289,11 @@ JSZip.prototype = (function () {
*/ */
var prepareFileAttrs = function (o) { var prepareFileAttrs = function (o) {
o = o || {}; o = o || {};
/*jshint -W041 */
if (o.base64 === true && o.binary == null) { if (o.base64 === true && o.binary == null) {
o.binary = true; o.binary = true;
} }
/*jshint +W041 */
o = extend(o, JSZip.defaults); o = extend(o, JSZip.defaults);
o.date = o.date || new Date(); o.date = o.date || new Date();
if (o.compression !== null) o.compression = o.compression.toUpperCase(); if (o.compression !== null) o.compression = o.compression.toUpperCase();
...@@ -341,7 +345,9 @@ JSZip.prototype = (function () { ...@@ -341,7 +345,9 @@ JSZip.prototype = (function () {
} }
} }
return this.files[name] = new ZipObject(name, data, o); var object = new ZipObject(name, data, o);
this.files[name] = object;
return object;
}; };
...@@ -399,7 +405,7 @@ JSZip.prototype = (function () { ...@@ -399,7 +405,7 @@ JSZip.prototype = (function () {
} else if (file._data.compressionMethod === compression.magic) { } else if (file._data.compressionMethod === compression.magic) {
result.compressedContent = file._data.getCompressedContent(); result.compressedContent = file._data.getCompressedContent();
} else { } else {
content = file._data.getContent() content = file._data.getContent();
// need to decompress / recompress // need to decompress / recompress
result.compressedContent = compression.compress(JSZip.utils.transformTo(compression.compressInputType, content)); result.compressedContent = compression.compress(JSZip.utils.transformTo(compression.compressInputType, content));
} }
...@@ -756,8 +762,9 @@ JSZip.prototype = (function () { ...@@ -756,8 +762,9 @@ JSZip.prototype = (function () {
case "nodebuffer" : case "nodebuffer" :
writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length); writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);
break; break;
case "base64" : // case "base64" :
default : // case "string" : // case "string" :
default :
writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length); writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length);
break; break;
} }
...@@ -1066,8 +1073,8 @@ JSZip.compressions = { ...@@ -1066,8 +1073,8 @@ JSZip.compressions = {
try { try {
// deprecated, browser only, old way // deprecated, browser only, old way
var builder = new (window.BlobBuilder || window.WebKitBlobBuilder || var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;
window.MozBlobBuilder || window.MSBlobBuilder)(); var builder = new BlobBuilder();
builder.append(buffer); builder.append(buffer);
return builder.getBlob('application/zip'); return builder.getBlob('application/zip');
} }
...@@ -1095,7 +1102,7 @@ JSZip.compressions = { ...@@ -1095,7 +1102,7 @@ JSZip.compressions = {
*/ */
function identity(input) { function identity(input) {
return input; return input;
}; }
/** /**
* Fill in an array with a string. * Fill in an array with a string.
...@@ -1108,7 +1115,7 @@ JSZip.compressions = { ...@@ -1108,7 +1115,7 @@ JSZip.compressions = {
array[i] = str.charCodeAt(i) & 0xFF; array[i] = str.charCodeAt(i) & 0xFF;
} }
return array; return array;
}; }
/** /**
* Transform an array-like object to a string. * Transform an array-like object to a string.
...@@ -1165,7 +1172,7 @@ JSZip.compressions = { ...@@ -1165,7 +1172,7 @@ JSZip.compressions = {
} }
} }
return result.join(""); return result.join("");
}; }
/** /**
* Copy the data from an array-like to an other array-like. * Copy the data from an array-like to an other array-like.
...@@ -1178,7 +1185,7 @@ JSZip.compressions = { ...@@ -1178,7 +1185,7 @@ JSZip.compressions = {
arrayTo[i] = arrayFrom[i]; arrayTo[i] = arrayFrom[i];
} }
return arrayTo; return arrayTo;
}; }
// a matrix containing functions to transform everything into everything. // a matrix containing functions to transform everything into everything.
var transform = {}; var transform = {};
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
/*
* Globals
*/
/* Links */
a,
a:focus,
a:hover {
color: #fff;
}
/* Custom default button */
.btn-default,
.btn-default:hover,
.btn-default:focus {
color: #333;
text-shadow: none; /* Prevent inheritence from `body` */
background-color: #fff;
border: 1px solid #fff;
}
/*
* Base structure
*/
html,
body {
height: 100%;
background-color: #333;
}
body {
color: #fff;
text-align: center;
text-shadow: 0 1px 3px rgba(0,0,0,.5);
box-shadow: inset 0 0 100px rgba(0,0,0,.5);
}
/* Extra markup and styles for table-esque vertical and horizontal centering */
.site-wrapper {
display: table;
width: 100%;
min-height: 100%;
}
.site-wrapper-inner {
display: table-cell;
vertical-align: top;
}
.cover-container {
margin-left: auto;
margin-right: auto;
}
/* Padding for spacing */
.inner {
padding: 30px;
}
/*
* Header
*/
.masthead-brand {
margin-top: 10px;
margin-bottom: 10px;
}
.masthead-nav > li {
display: inline-block;
}
.masthead-nav > li + li {
margin-left: 20px;
}
.masthead-nav > li > a {
padding-left: 0;
padding-right: 0;
font-size: 16px;
font-weight: bold;
color: #fff; /* IE8 proofing */
color: rgba(255,255,255,.75);
border-bottom: 2px solid transparent;
}
.masthead-nav > li > a:hover,
.masthead-nav > li > a:focus {
background-color: transparent;
border-bottom-color: rgba(255,255,255,.25);
}
.masthead-nav > .active > a,
.masthead-nav > .active > a:hover,
.masthead-nav > .active > a:focus {
color: #fff;
border-bottom-color: #fff;
}
@media (min-width: 768px) {
.masthead-brand {
float: left;
}
.masthead-nav {
float: right;
}
}
/*
* Cover
*/
.cover {
padding: 0 20px;
}
.cover .btn-lg {
padding: 10px 20px;
font-weight: bold;
}
/*
* Footer
*/
.mastfoot {
color: #999; /* IE8 proofing */
color: rgba(255,255,255,.5);
}
/*
* Affix and center
*/
@media (min-width: 768px) {
/* Pull out the header and footer */
.masthead {
position: fixed;
top: 0;
}
.mastfoot {
position: fixed;
bottom: 0;
}
/* Start the vertical centering */
.site-wrapper-inner {
vertical-align: middle;
}
/* Handle the widths */
.masthead,
.mastfoot,
.cover-container {
width: 100%; /* Must be percentage or pixels for horizontal alignment */
}
}
@media (min-width: 992px) {
.masthead,
.mastfoot,
.cover-container {
width: 700px;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
<title>Cover Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="cover.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy this line! -->
<!--[if lt IE 9]><script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="site-wrapper">
<div class="site-wrapper-inner">
<div class="cover-container">
<div class="masthead clearfix">
<div class="inner">
<h3 class="masthead-brand">Cover</h3>
<ul class="nav masthead-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Features</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</div>
<div class="inner cover">
<h1 class="cover-heading">Cover your page.</h1>
<p class="lead">Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.</p>
<p class="lead">
<a href="#" class="btn btn-lg btn-default">Learn more</a>
</p>
</div>
<div class="mastfoot">
<div class="inner">
<p>Cover template for <a href="http://getbootstrap.com">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../docs-assets/js/holder.js"></script>
</body>
</html>
/*
* Base structure
*/
/* Move down content because we have a fixed navbar that is 50px tall */
body {
padding-top: 50px;
}
/*
* Global add-ons
*/
.sub-header {
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
/*
* Sidebar
*/
/* Hide for mobile, show later */
.sidebar {
display: none;
}
@media (min-width: 768px) {
.sidebar {
position: fixed;
top: 0;
left: 0;
bottom: 0;
z-index: 1000;
display: block;
padding: 70px 20px 20px;
background-color: #f5f5f5;
border-right: 1px solid #eee;
}
}
/* Sidebar navigation */
.nav-sidebar {
margin-left: -20px;
margin-right: -21px; /* 20px padding + 1px border */
margin-bottom: 20px;
}
.nav-sidebar > li > a {
padding-left: 20px;
padding-right: 20px;
}
.nav-sidebar > .active > a {
color: #fff;
background-color: #428bca;
}
/*
* Main content
*/
.main {
padding: 20px;
}
@media (min-width: 768px) {
.main {
padding-left: 40px;
pading-right: 40px;
}
}
.main .page-header {
margin-top: 0;
}
/*
* Placeholder dashboard ideas
*/
.placeholders {
margin-bottom: 30px;
text-align: center;
}
.placeholders h4 {
margin-bottom: 0;
}
.placeholder {
margin-bottom: 20px;
}
.placeholder img {
border-radius: 50%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
<title>Dashboard Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="dashboard.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy this line! -->
<!--[if lt IE 9]><script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Dashboard</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Profile</a></li>
<li><a href="#">Help</a></li>
</ul>
<form class="navbar-form navbar-right">
<input type="text" class="form-control" placeholder="Search...">
</form>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 sidebar">
<ul class="nav nav-sidebar">
<li class="active"><a href="#">Overview</a></li>
<li><a href="#">Reports</a></li>
<li><a href="#">Analytics</a></li>
<li><a href="#">Export</a></li>
</ul>
<ul class="nav nav-sidebar">
<li><a href="">Nav item</a></li>
<li><a href="">Nav item again</a></li>
<li><a href="">One more nav</a></li>
<li><a href="">Another nav item</a></li>
<li><a href="">More navigation</a></li>
</ul>
<ul class="nav nav-sidebar">
<li><a href="">Nav item again</a></li>
<li><a href="">One more nav</a></li>
<li><a href="">Another nav item</a></li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 main">
<h1 class="page-header">Dashboard</h1>
<div class="row placeholders">
<div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/sky" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4>
<span class="text-muted">Something else</span>
</div>
<div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/vine" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4>
<span class="text-muted">Something else</span>
</div>
<div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/sky" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4>
<span class="text-muted">Something else</span>
</div>
<div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/vine" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4>
<span class="text-muted">Something else</span>
</div>
</div>
<h2 class="sub-header">Section title</h2>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>1,001</td>
<td>Lorem</td>
<td>ipsum</td>
<td>dolor</td>
<td>sit</td>
</tr>
<tr>
<td>1,002</td>
<td>amet</td>
<td>consectetur</td>
<td>adipiscing</td>
<td>elit</td>
</tr>
<tr>
<td>1,003</td>
<td>Integer</td>
<td>nec</td>
<td>odio</td>
<td>Praesent</td>
</tr>
<tr>
<td>1,003</td>
<td>libero</td>
<td>Sed</td>
<td>cursus</td>
<td>ante</td>
</tr>
<tr>
<td>1,004</td>
<td>dapibus</td>
<td>diam</td>
<td>Sed</td>
<td>nisi</td>
</tr>
<tr>
<td>1,005</td>
<td>Nulla</td>
<td>quis</td>
<td>sem</td>
<td>at</td>
</tr>
<tr>
<td>1,006</td>
<td>nibh</td>
<td>elementum</td>
<td>imperdiet</td>
<td>Duis</td>
</tr>
<tr>
<td>1,007</td>
<td>sagittis</td>
<td>ipsum</td>
<td>Praesent</td>
<td>mauris</td>
</tr>
<tr>
<td>1,008</td>
<td>Fusce</td>
<td>nec</td>
<td>tellus</td>
<td>sed</td>
</tr>
<tr>
<td>1,009</td>
<td>augue</td>
<td>semper</td>
<td>porta</td>
<td>Mauris</td>
</tr>
<tr>
<td>1,010</td>
<td>massa</td>
<td>Vestibulum</td>
<td>lacinia</td>
<td>arcu</td>
</tr>
<tr>
<td>1,011</td>
<td>eget</td>
<td>nulla</td>
<td>Class</td>
<td>aptent</td>
</tr>
<tr>
<td>1,012</td>
<td>taciti</td>
<td>sociosqu</td>
<td>ad</td>
<td>litora</td>
</tr>
<tr>
<td>1,013</td>
<td>torquent</td>
<td>per</td>
<td>conubia</td>
<td>nostra</td>
</tr>
<tr>
<td>1,014</td>
<td>per</td>
<td>inceptos</td>
<td>himenaeos</td>
<td>Curabitur</td>
</tr>
<tr>
<td>1,015</td>
<td>sodales</td>
<td>ligula</td>
<td>in</td>
<td>libero</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../docs-assets/js/holder.js"></script>
</body>
</html>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
body { body {
padding-top: 70px; padding-top: 70px;
padding-bottom: 30px; padding-bottom: 30px;
min-width: 970px;
} }
/* Finesse the page header spacing */ /* Finesse the page header spacing */
...@@ -63,6 +64,9 @@ body { ...@@ -63,6 +64,9 @@ body {
.navbar-toggle { .navbar-toggle {
display: none; display: none;
} }
.navbar-collapse {
border-top: 0;
}
.navbar-brand { .navbar-brand {
margin-left: -15px; margin-left: -15px;
...@@ -86,7 +90,7 @@ body { ...@@ -86,7 +90,7 @@ body {
} }
/* Undo custom dropdowns */ /* Undo custom dropdowns */
.navbar .open .dropdown-menu { .navbar .navbar-nav .open .dropdown-menu {
position: absolute; position: absolute;
float: left; float: left;
background-color: #fff; background-color: #fff;
...@@ -97,20 +101,20 @@ body { ...@@ -97,20 +101,20 @@ body {
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
} }
.navbar .open .dropdown-menu > li > a { .navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #333; color: #333;
} }
.navbar .open .dropdown-menu > li > a:hover, .navbar .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar .open .dropdown-menu > li > a:focus, .navbar .navbar-nav .open .dropdown-menu > li > a:focus,
.navbar .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .open .dropdown-menu > .active > a:focus { .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff !important; color: #fff !important;
background-color: #428bca !important; background-color: #428bca !important;
} }
.navbar .open .dropdown-menu > .disabled > a, .navbar .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar .open .dropdown-menu > .disabled > a:hover, .navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar .open .dropdown-menu > .disabled > a:focus { .navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #999 !important; color: #999 !important;
background-color: transparent !important; background-color: transparent !important;
} }
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
* Style tweaks * Style tweaks
* -------------------------------------------------- * --------------------------------------------------
*/ */
html { html,
body {
overflow-x: hidden; /* Prevent scroll on narrow devices */ overflow-x: hidden; /* Prevent scroll on narrow devices */
} }
body { body {
......
examples/screenshots/jumbotron.jpg

76.1 KB | W: | H:

examples/screenshots/jumbotron.jpg

98.8 KB | W: | H:

examples/screenshots/jumbotron.jpg
examples/screenshots/jumbotron.jpg
examples/screenshots/jumbotron.jpg
examples/screenshots/jumbotron.jpg
  • 2-up
  • Swipe
  • Onion skin
examples/screenshots/theme.jpg

93.2 KB | W: | H:

examples/screenshots/theme.jpg

83.5 KB | W: | H:

examples/screenshots/theme.jpg
examples/screenshots/theme.jpg
examples/screenshots/theme.jpg
examples/screenshots/theme.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<div id="footer"> <div id="footer">
<div class="container"> <div class="container">
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p> <p class="text-muted">Place sticky footer content here.</p>
</div> </div>
</div> </div>
......
...@@ -31,7 +31,7 @@ body { ...@@ -31,7 +31,7 @@ body {
#wrap > .container { #wrap > .container {
padding: 60px 15px 0; padding: 60px 15px 0;
} }
.container .credit { .container .text-muted {
margin: 20px 0; margin: 20px 0;
} }
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<div id="footer"> <div id="footer">
<div class="container"> <div class="container">
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p> <p class="text-muted">Place sticky footer content here.</p>
</div> </div>
</div> </div>
......
...@@ -33,6 +33,6 @@ body { ...@@ -33,6 +33,6 @@ body {
max-width: 680px; max-width: 680px;
padding: 0 15px; padding: 0 15px;
} }
.container .credit { .container .text-muted {
margin: 20px 0; margin: 20px 0;
} }
...@@ -17,7 +17,7 @@ base_url: "../" ...@@ -17,7 +17,7 @@ base_url: "../"
<h3 id="download-compiled">Compiled CSS, JS, and fonts</h3> <h3 id="download-compiled">Compiled CSS, JS, and fonts</h3>
<p>The fastest way to get Bootstrap is to download the precompiled and minified versions of our CSS, JavaScript, and fonts. No documentation or original source code files are included.</p> <p>The fastest way to get Bootstrap is to download the precompiled and minified versions of our CSS, JavaScript, and fonts. No documentation or original source code files are included.</p>
<p><a class="btn btn-lg btn-primary" href="{{ site.download_dist }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);" role="button">Download precompiled Bootstrap</a></p> <p><a class="btn btn-lg btn-primary" href="{{ site.download_dist }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);" role="button">Download Bootstrap</a></p>
<h3 id="download-additional">Additional downloads</h3> <h3 id="download-additional">Additional downloads</h3>
<div class="bs-docs-dl-options"> <div class="bs-docs-dl-options">
...@@ -62,9 +62,15 @@ base_url: "../" ...@@ -62,9 +62,15 @@ base_url: "../"
<div class="page-header"> <div class="page-header">
<h1 id="whats-included">What's included</h1> <h1 id="whats-included">What's included</h1>
</div> </div>
<p class="lead">Within the download you'll find the following directories and files, logically grouping common resources and providing both compiled and minified variations.</p> <p class="lead">Bootstrap is downloadable in two forms, within which you'll find the following directories and files, logically grouping common resources and providing both compiled and minified variations.</p>
<p>Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:</p>
<div class="bs-callout bs-callout-warning" id="jquery-required">
<h4>jQuery required</h4>
<p>Please note that <strong>all JavaScript plugins require jQuery</strong> to be included, as shown in the <a href="#template">starter template</a>. <a href="{{ site.repo }}/blob/v{{ site.current_version }}/bower.json">Consult our <code>bower.json</code></a> to see which versions of jQuery are supported.</p>
</div>
<h2 id="whats-included-precompiled">Precompiled Bootstrap</h2>
<p>Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:</p>
<!-- NOTE: This info is intentionally duplicated in the README. <!-- NOTE: This info is intentionally duplicated in the README.
Copy any changes made here over to the README too. --> Copy any changes made here over to the README too. -->
{% highlight bash %} {% highlight bash %}
...@@ -85,11 +91,24 @@ bootstrap/ ...@@ -85,11 +91,24 @@ bootstrap/
{% endhighlight %} {% endhighlight %}
<p>This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). Fonts from Glyphicons are included, as is the optional Bootstrap theme.</p> <p>This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). Fonts from Glyphicons are included, as is the optional Bootstrap theme.</p>
<div class="bs-callout bs-callout-danger" id="jquery-required">
<h4>jQuery required</h4> <h2 id="whats-included-source">Bootstrap source code</h2>
<p>Please note that <strong>all JavaScript plugins require jQuery</strong> to be included, as shown in the <a href="#template">starter template</a>. <a href="{{ site.repo }}/blob/v{{ site.current_version }}/bower.json">Consult our <code>bower.json</code></a> to see which versions of jQuery are supported.</p> <p>The Bootstrap source code download includes the precompiled CSS, JavaScript, and font assets, along with source LESS, JavaScript, and documentation. More specifically, it includes the following and more:</p>
</div> {% highlight bash %}
bootstrap/
├── less/
├── js/
├── fonts/
├── dist/
│ ├── css/
│ ├── js/
│ └── fonts/
├── docs-assets/
├── examples/
└── *.html
{% endhighlight %}
</div> </div>
<p>The <code>less/</code>, <code>js/</code>, and <code>fonts/</code> are the source code for our CSS, JS, and icon fonts (respectively). The <code>dist/</code> folder includes everything listed in the precompiled download section above. <code>docs-assets/</code>, <code>examples/</code>, and all <code>*.html</code> files are for our documentation. Beyond that, any other included file provides support for packages, license information, and development.</p>
<!-- Template <!-- Template
...@@ -242,6 +261,22 @@ bootstrap/ ...@@ -242,6 +261,22 @@ bootstrap/
<h4>Carousel</h4> <h4>Carousel</h4>
<p>Customize the navbar and carousel, then add some new components.</p> <p>Customize the navbar and carousel, then add some new components.</p>
</div> </div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/cover/">
<img src="../examples/screenshots/cover.jpg" alt="">
</a>
<h4>Cover</h4>
<p>A one-page template for building simple and beautiful home pages.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/dashboard/">
<img src="../examples/screenshots/dashboard.jpg" alt="">
</a>
<h4>Dashboard</h4>
<p>Basic structure for a admin dashboard with fixed sidebar and navbar.</p>
</div>
<div class="col-xs-6 col-md-4"> <div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/non-responsive/"> <a class="thumbnail" href="../examples/non-responsive/">
<img src="../examples/screenshots/non-responsive.jpg" alt=""> <img src="../examples/screenshots/non-responsive.jpg" alt="">
...@@ -379,7 +414,7 @@ bootstrap/ ...@@ -379,7 +414,7 @@ bootstrap/
</tr> </tr>
<tr> <tr>
<td><code>.visible-desktop</code></td> <td><code>.visible-desktop</code></td>
<td><code>.visible-md</code></td> <td>Split into <code>.visible-md .visible-lg</code></td>
</tr> </tr>
<tr> <tr>
<td><code>.hidden-phone</code></td> <td><code>.hidden-phone</code></td>
...@@ -391,7 +426,7 @@ bootstrap/ ...@@ -391,7 +426,7 @@ bootstrap/
</tr> </tr>
<tr> <tr>
<td><code>.hidden-desktop</code></td> <td><code>.hidden-desktop</code></td>
<td><code>.hidden-md</code></td> <td>Split into <code>.hidden-md .hidden-lg</code></td>
</tr> </tr>
<tr> <tr>
<td><code>.input-small</code></td> <td><code>.input-small</code></td>
...@@ -405,6 +440,10 @@ bootstrap/ ...@@ -405,6 +440,10 @@ bootstrap/
<td><code>.control-group</code></td> <td><code>.control-group</code></td>
<td><code>.form-group</code></td> <td><code>.form-group</code></td>
</tr> </tr>
<tr>
<td><code>.control-group.warning .control-group.error .control-group.success</code></td>
<td><code>.form-group.has-*</code></td>
</tr>
<tr> <tr>
<td><code>.checkbox.inline</code> <code>.radio.inline</code></td> <td><code>.checkbox.inline</code> <code>.radio.inline</code></td>
<td><code>.checkbox-inline</code> <code>.radio-inline</code></td> <td><code>.checkbox-inline</code> <code>.radio-inline</code></td>
...@@ -433,6 +472,14 @@ bootstrap/ ...@@ -433,6 +472,14 @@ bootstrap/
<td><code>.muted</code></td> <td><code>.muted</code></td>
<td><code>.text-muted</code></td> <td><code>.text-muted</code></td>
</tr> </tr>
<tr>
<td><code>.label</code></td>
<td><code>.label .label-default</code></td>
</tr>
<tr>
<td><code>.label-important</code></td>
<td><code>.label-danger</code></td>
</tr>
<tr> <tr>
<td><code>.text-error</code></td> <td><code>.text-error</code></td>
<td><code>.text-danger</code></td> <td><code>.text-danger</code></td>
...@@ -611,6 +658,11 @@ bootstrap/ ...@@ -611,6 +658,11 @@ bootstrap/
<td><code>.form-search</code></td> <td><code>.form-search</code></td>
<td class="text-muted">N/A</td> <td class="text-muted">N/A</td>
</tr> </tr>
<tr>
<td>Form group with info</td>
<td><code>.control-group.info</code></td>
<td class="text-muted">N/A</td>
</tr>
<tr> <tr>
<td>Fluid container</td> <td>Fluid container</td>
<td><code>.container-fluid</code></td> <td><code>.container-fluid</code></td>
...@@ -651,6 +703,16 @@ bootstrap/ ...@@ -651,6 +703,16 @@ bootstrap/
<td><code>.tabs-left</code> <code>.tabs-right</code> <code>.tabs-below</code></td> <td><code>.tabs-left</code> <code>.tabs-right</code> <code>.tabs-below</code></td>
<td class="text-muted">N/A</td> <td class="text-muted">N/A</td>
</tr> </tr>
<tr>
<td>Pill-based tabbable area</td>
<td><code>.pill-content</code></td>
<td><code>.tab-content</code></td>
</tr>
<tr>
<td>Pill-based tabbable area pane</td>
<td><code>.pill-pane</code></td>
<td><code>.tab-pane</code></td>
</tr>
<tr> <tr>
<td>Nav lists</td> <td>Nav lists</td>
<td><code>.nav-list</code> <code>.nav-header</code></td> <td><code>.nav-list</code> <code>.nav-header</code></td>
...@@ -674,7 +736,7 @@ bootstrap/ ...@@ -674,7 +736,7 @@ bootstrap/
<li>Typeahead has been dropped, in favor of using <a href="http://twitter.github.io/typeahead.js/">Twitter Typeahead</a>.</li> <li>Typeahead has been dropped, in favor of using <a href="http://twitter.github.io/typeahead.js/">Twitter Typeahead</a>.</li>
<li>Modal markup has changed significantly. The <code>.modal-header</code>, <code>.modal-body</code>, and <code>.modal-footer</code> sections are now wrapped in <code>.modal-content</code> and <code>.modal-dialog</code> for better mobile styling and behavior.</li> <li>Modal markup has changed significantly. The <code>.modal-header</code>, <code>.modal-body</code>, and <code>.modal-footer</code> sections are now wrapped in <code>.modal-content</code> and <code>.modal-dialog</code> for better mobile styling and behavior.</li>
<li>The HTML loaded by the <code>remote</code> modal option is now injected into the <code>.modal</code> instead of into the <code>.modal-body</code>. This allows you to also easily vary the header and footer of the modal, not just the modal body.</li> <li>The HTML loaded by the <code>remote</code> modal option is now injected into the <code>.modal</code> instead of into the <code>.modal-body</code>. This allows you to also easily vary the header and footer of the modal, not just the modal body.</li>
<li>JavaScript events are namespaced. For example, to handle the modal "show" event, use <code>'show.bs.modal'</code>. For tabs "shown" use <code>'shown.bs.tab'</code>, etc..</li> <li>JavaScript events are namespaced. For example, to handle the modal "show" event, use <code>'show.bs.modal'</code>. For tabs "shown" use <code>'shown.bs.tab'</code>, etc.</li>
</ul> </ul>
<p>For more information on upgrading to v3.0, and code snippets from the community, see <a href="http://bootply.com/">Bootply</a>.</p> <p>For more information on upgrading to v3.0, and code snippets from the community, see <a href="http://bootply.com/">Bootply</a>.</p>
</div> </div>
...@@ -759,7 +821,8 @@ bootstrap/ ...@@ -759,7 +821,8 @@ bootstrap/
{% highlight html %} {% highlight html %}
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
{% endhighlight %} {% endhighlight %}
<p>This tag is included in all docs pages and examples to ensure the best rendering possible in each supported version of Internet Explorer.</p> <p>Confirm the document mode by opening the debugging tools: press <kbd>F12</kbd> and check the "Document Mode".</p>
<p>This tag is included in all Bootstrap's documentation and examples to ensure the best rendering possible in each supported version of Internet Explorer.</p>
<p>See <a href="http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge">this StackOverflow question</a> for more information.</p> <p>See <a href="http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge">this StackOverflow question</a> for more information.</p>
<h3 id="ie-10-width">Internet Explorer 10 in Windows 8 and Windows Phone 8</h3> <h3 id="ie-10-width">Internet Explorer 10 in Windows 8 and Windows Phone 8</h3>
......
This diff is collapsed.
{
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return"],
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
"disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
"requireRightStickedOperators": ["!"],
"disallowRightStickedOperators": ["?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
"disallowKeywords": ["with"],
"validateLineBreaks": "LF",
"requireLineFeedAtFileEnd": true
}
...@@ -10,5 +10,6 @@ ...@@ -10,5 +10,6 @@
"expr" : true, "expr" : true,
"laxbreak" : true, "laxbreak" : true,
"laxcomma" : true, "laxcomma" : true,
"quotmark" : "single",
"validthis": true "validthis": true
} }
\ No newline at end of file
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.0.2 * Bootstrap: affix.js v3.0.3
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* ======================================================================== */ * ======================================================================== */
+function ($) { "use strict"; +function ($) { 'use strict';
// AFFIX CLASS DEFINITION // AFFIX CLASS DEFINITION
// ====================== // ======================
......
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.0.2 * Bootstrap: alert.js v3.0.3
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* ======================================================================== */ * ======================================================================== */
+function ($) { "use strict"; +function ($) { 'use strict';
// ALERT CLASS DEFINITION // ALERT CLASS DEFINITION
// ====================== // ======================
......
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.0.2 * Bootstrap: button.js v3.0.3
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* ======================================================================== */ * ======================================================================== */
+function ($) { "use strict"; +function ($) { 'use strict';
// BUTTON PUBLIC CLASS DEFINITION // BUTTON PUBLIC CLASS DEFINITION
// ============================== // ==============================
......
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.0.2 * Bootstrap: carousel.js v3.0.3
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* ======================================================================== */ * ======================================================================== */
+function ($) { "use strict"; +function ($) { 'use strict';
// CAROUSEL CLASS DEFINITION // CAROUSEL CLASS DEFINITION
// ========================= // =========================
......
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.0.2 * Bootstrap: collapse.js v3.0.3
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* ======================================================================== */ * ======================================================================== */
+function ($) { "use strict"; +function ($) { 'use strict';
// COLLAPSE PUBLIC CLASS DEFINITION // COLLAPSE PUBLIC CLASS DEFINITION
// ================================ // ================================
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
.breadcrumb { .breadcrumb {
padding: 8px 15px; padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
margin-bottom: @line-height-computed; margin-bottom: @line-height-computed;
list-style: none; list-style: none;
background-color: @breadcrumb-bg; background-color: @breadcrumb-bg;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
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