mirror of https://github.com/twbs/bootstrap.git
fix more broke shit, run grunt
This commit is contained in:
parent
b648a77ed3
commit
4bba2d0e0c
90
Gruntfile.js
90
Gruntfile.js
|
@ -20,7 +20,7 @@ module.exports = function (grunt) {
|
||||||
var npmShrinkwrap = require('npm-shrinkwrap');
|
var npmShrinkwrap = require('npm-shrinkwrap');
|
||||||
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
||||||
var getLessVarsData = function () {
|
var getLessVarsData = function () {
|
||||||
var filePath = path.join(__dirname, 'less/variables.less');
|
var filePath = path.join(__dirname, 'less/_variables.less');
|
||||||
var fileContent = fs.readFileSync(filePath, { encoding: 'utf8' });
|
var fileContent = fs.readFileSync(filePath, { encoding: 'utf8' });
|
||||||
var parser = new BsLessdocParser(fileContent);
|
var parser = new BsLessdocParser(fileContent);
|
||||||
return { sections: parser.parseFile() };
|
return { sections: parser.parseFile() };
|
||||||
|
@ -149,7 +149,7 @@ module.exports = function (grunt) {
|
||||||
},
|
},
|
||||||
|
|
||||||
less: {
|
less: {
|
||||||
compileCore: {
|
core: {
|
||||||
options: {
|
options: {
|
||||||
strictMath: true,
|
strictMath: true,
|
||||||
sourceMap: true,
|
sourceMap: true,
|
||||||
|
@ -160,16 +160,13 @@ module.exports = function (grunt) {
|
||||||
src: 'less/bootstrap.less',
|
src: 'less/bootstrap.less',
|
||||||
dest: 'dist/css/<%= pkg.name %>.css'
|
dest: 'dist/css/<%= pkg.name %>.css'
|
||||||
},
|
},
|
||||||
compileTheme: {
|
docs: {
|
||||||
options: {
|
options: {
|
||||||
strictMath: true,
|
strictMath: true
|
||||||
sourceMap: true,
|
|
||||||
outputSourceFiles: true,
|
|
||||||
sourceMapURL: '<%= pkg.name %>-theme.css.map',
|
|
||||||
sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map'
|
|
||||||
},
|
},
|
||||||
src: 'less/theme.less',
|
files: {
|
||||||
dest: 'dist/css/<%= pkg.name %>-theme.css'
|
'docs/assets/css/docs.min.css': 'docs/assets/less/docs.less'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -183,14 +180,8 @@ module.exports = function (grunt) {
|
||||||
},
|
},
|
||||||
src: 'dist/css/<%= pkg.name %>.css'
|
src: 'dist/css/<%= pkg.name %>.css'
|
||||||
},
|
},
|
||||||
theme: {
|
|
||||||
options: {
|
|
||||||
map: true
|
|
||||||
},
|
|
||||||
src: 'dist/css/<%= pkg.name %>-theme.css'
|
|
||||||
},
|
|
||||||
docs: {
|
docs: {
|
||||||
src: 'docs/assets/css/src/docs.css'
|
src: 'docs/assets/css/docs.min.css'
|
||||||
},
|
},
|
||||||
examples: {
|
examples: {
|
||||||
expand: true,
|
expand: true,
|
||||||
|
@ -200,45 +191,19 @@ module.exports = function (grunt) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
csslint: {
|
|
||||||
options: {
|
|
||||||
csslintrc: 'less/.csslintrc'
|
|
||||||
},
|
|
||||||
dist: [
|
|
||||||
'dist/css/bootstrap.css',
|
|
||||||
'dist/css/bootstrap-theme.css'
|
|
||||||
],
|
|
||||||
examples: [
|
|
||||||
'docs/examples/**/*.css'
|
|
||||||
],
|
|
||||||
docs: {
|
|
||||||
options: {
|
|
||||||
ids: false,
|
|
||||||
'overqualified-elements': false
|
|
||||||
},
|
|
||||||
src: 'docs/assets/css/src/docs.css'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
cssmin: {
|
cssmin: {
|
||||||
options: {
|
options: {
|
||||||
compatibility: 'ie8',
|
compatibility: 'ie8',
|
||||||
keepSpecialComments: '*',
|
keepSpecialComments: '*',
|
||||||
noAdvanced: true
|
noAdvanced: true
|
||||||
},
|
},
|
||||||
minifyCore: {
|
core: {
|
||||||
src: 'dist/css/<%= pkg.name %>.css',
|
files: {
|
||||||
dest: 'dist/css/<%= pkg.name %>.min.css'
|
'dist/css/<%= pkg.name %>.min.css': 'dist/css/<%= pkg.name %>.css'
|
||||||
},
|
}
|
||||||
minifyTheme: {
|
|
||||||
src: 'dist/css/<%= pkg.name %>-theme.css',
|
|
||||||
dest: 'dist/css/<%= pkg.name %>-theme.min.css'
|
|
||||||
},
|
},
|
||||||
docs: {
|
docs: {
|
||||||
src: [
|
src: 'docs/assets/css/docs.min.css',
|
||||||
'docs/assets/css/src/docs.css',
|
|
||||||
'docs/assets/css/src/pygments-manni.css'
|
|
||||||
],
|
|
||||||
dest: 'docs/assets/css/docs.min.css'
|
dest: 'docs/assets/css/docs.min.css'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -276,10 +241,6 @@ module.exports = function (grunt) {
|
||||||
},
|
},
|
||||||
|
|
||||||
copy: {
|
copy: {
|
||||||
fonts: {
|
|
||||||
src: 'fonts/*',
|
|
||||||
dest: 'dist/'
|
|
||||||
},
|
|
||||||
docs: {
|
docs: {
|
||||||
src: 'dist/*/*',
|
src: 'dist/*/*',
|
||||||
dest: 'docs/'
|
dest: 'docs/'
|
||||||
|
@ -331,7 +292,10 @@ module.exports = function (grunt) {
|
||||||
relaxerror: [
|
relaxerror: [
|
||||||
'Element img is missing required attribute src.',
|
'Element img is missing required attribute src.',
|
||||||
'Attribute autocomplete not allowed on element input at this point.',
|
'Attribute autocomplete not allowed on element input at this point.',
|
||||||
'Attribute autocomplete not allowed on element button at this point.'
|
'Attribute autocomplete not allowed on element button at this point.',
|
||||||
|
'Element div not allowed as child of element progress in this context.',
|
||||||
|
'Element thead not allowed as child of element table in this context.',
|
||||||
|
'Bad value tablist for attribute role on element nav.'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
|
@ -351,6 +315,10 @@ module.exports = function (grunt) {
|
||||||
less: {
|
less: {
|
||||||
files: 'less/**/*.less',
|
files: 'less/**/*.less',
|
||||||
tasks: 'less'
|
tasks: 'less'
|
||||||
|
},
|
||||||
|
docs: {
|
||||||
|
files: 'docs/assets/less/*.less',
|
||||||
|
tasks: 'less'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -403,9 +371,8 @@ module.exports = function (grunt) {
|
||||||
var testSubtasks = [];
|
var testSubtasks = [];
|
||||||
// Skip core tests if running a different subset of the test suite
|
// Skip core tests if running a different subset of the test suite
|
||||||
if (runSubset('core') &&
|
if (runSubset('core') &&
|
||||||
// Skip core tests if this is a Savage build
|
// Skip core tests if this is a Savage build
|
||||||
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
|
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-js', 'docs']);
|
||||||
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']);
|
|
||||||
}
|
}
|
||||||
// Skip HTML validation if running a different subset of the test suite
|
// Skip HTML validation if running a different subset of the test suite
|
||||||
if (runSubset('validate-html') &&
|
if (runSubset('validate-html') &&
|
||||||
|
@ -429,14 +396,14 @@ module.exports = function (grunt) {
|
||||||
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
|
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
|
||||||
|
|
||||||
// CSS distribution task.
|
// CSS distribution task.
|
||||||
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
|
grunt.registerTask('less-compile', ['less:core', 'less:docs']);
|
||||||
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'usebanner', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
|
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'usebanner', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']);
|
||||||
|
|
||||||
// Full distribution task.
|
// Full distribution task.
|
||||||
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
|
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']);
|
||||||
|
|
||||||
// Default task.
|
// Default task.
|
||||||
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
|
grunt.registerTask('default', ['clean:dist', 'test']);
|
||||||
|
|
||||||
// Version numbering task.
|
// Version numbering task.
|
||||||
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
|
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
|
||||||
|
@ -459,10 +426,9 @@ module.exports = function (grunt) {
|
||||||
|
|
||||||
// Docs task.
|
// Docs task.
|
||||||
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
|
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
|
||||||
grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']);
|
|
||||||
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
||||||
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
||||||
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-customizer']);
|
grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-customizer']);
|
||||||
|
|
||||||
grunt.registerTask('docs-github', ['jekyll:github']);
|
grunt.registerTask('docs-github', ['jekyll:github']);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.3.0 (http://getbootstrap.com)
|
* Bootstrap v3.3.1 (http://getbootstrap.com)
|
||||||
* Copyright 2011-2014 Twitter, Inc.
|
* Copyright 2011-2014 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
@ -1806,7 +1806,21 @@ fieldset[disabled] .checkbox label {
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
.input-sm,
|
.input-sm {
|
||||||
|
height: 2.025rem;
|
||||||
|
padding: .3rem .75rem;
|
||||||
|
font-size: .85rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
border-radius: .2rem;
|
||||||
|
}
|
||||||
|
select.input-sm {
|
||||||
|
height: 2.025rem;
|
||||||
|
line-height: 2.025rem;
|
||||||
|
}
|
||||||
|
textarea.input-sm,
|
||||||
|
select[multiple].input-sm {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.form-group-sm .form-control {
|
.form-group-sm .form-control {
|
||||||
height: 2.025rem;
|
height: 2.025rem;
|
||||||
padding: .3rem .75rem;
|
padding: .3rem .75rem;
|
||||||
|
@ -1814,18 +1828,29 @@ fieldset[disabled] .checkbox label {
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
border-radius: .2rem;
|
border-radius: .2rem;
|
||||||
}
|
}
|
||||||
select.input-sm,
|
|
||||||
select.form-group-sm .form-control {
|
select.form-group-sm .form-control {
|
||||||
height: 2.025rem;
|
height: 2.025rem;
|
||||||
line-height: 2.025rem;
|
line-height: 2.025rem;
|
||||||
}
|
}
|
||||||
textarea.input-sm,
|
|
||||||
textarea.form-group-sm .form-control,
|
textarea.form-group-sm .form-control,
|
||||||
select[multiple].input-sm,
|
|
||||||
select[multiple].form-group-sm .form-control {
|
select[multiple].form-group-sm .form-control {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
.input-lg,
|
.input-lg {
|
||||||
|
height: 3.3125rem;
|
||||||
|
padding: .75rem 1.5rem;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
line-height: 1.33;
|
||||||
|
border-radius: .3rem;
|
||||||
|
}
|
||||||
|
select.input-lg {
|
||||||
|
height: 3.3125rem;
|
||||||
|
line-height: 3.3125rem;
|
||||||
|
}
|
||||||
|
textarea.input-lg,
|
||||||
|
select[multiple].input-lg {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.form-group-lg .form-control {
|
.form-group-lg .form-control {
|
||||||
height: 3.3125rem;
|
height: 3.3125rem;
|
||||||
padding: .75rem 1.5rem;
|
padding: .75rem 1.5rem;
|
||||||
|
@ -1833,14 +1858,11 @@ select[multiple].form-group-sm .form-control {
|
||||||
line-height: 1.33;
|
line-height: 1.33;
|
||||||
border-radius: .3rem;
|
border-radius: .3rem;
|
||||||
}
|
}
|
||||||
select.input-lg,
|
|
||||||
select.form-group-lg .form-control {
|
select.form-group-lg .form-control {
|
||||||
height: 3.3125rem;
|
height: 3.3125rem;
|
||||||
line-height: 3.3125rem;
|
line-height: 3.3125rem;
|
||||||
}
|
}
|
||||||
textarea.input-lg,
|
|
||||||
textarea.form-group-lg .form-control,
|
textarea.form-group-lg .form-control,
|
||||||
select[multiple].input-lg,
|
|
||||||
select[multiple].form-group-lg .form-control {
|
select[multiple].form-group-lg .form-control {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
@ -2627,7 +2649,7 @@ tbody.collapse.in {
|
||||||
.navbar-fixed-bottom .dropdown .dropdown-menu {
|
.navbar-fixed-bottom .dropdown .dropdown-menu {
|
||||||
top: auto;
|
top: auto;
|
||||||
bottom: 100%;
|
bottom: 100%;
|
||||||
margin-bottom: 1px;
|
margin-bottom: 2px;
|
||||||
}
|
}
|
||||||
@media (min-width: 48em) {
|
@media (min-width: 48em) {
|
||||||
.navbar-right .dropdown-menu {
|
.navbar-right .dropdown-menu {
|
||||||
|
@ -2660,10 +2682,6 @@ tbody.collapse.in {
|
||||||
.btn-group-vertical > .btn.active {
|
.btn-group-vertical > .btn.active {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
.btn-group > .btn:focus,
|
|
||||||
.btn-group-vertical > .btn:focus {
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
.btn-group .btn + .btn,
|
.btn-group .btn + .btn,
|
||||||
.btn-group .btn + .btn-group,
|
.btn-group .btn + .btn-group,
|
||||||
.btn-group .btn-group + .btn,
|
.btn-group .btn-group + .btn,
|
||||||
|
@ -4322,6 +4340,14 @@ a.badge:focus {
|
||||||
.media:first-child {
|
.media:first-child {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
.media,
|
||||||
|
.media-body {
|
||||||
|
overflow: hidden;
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
.media-object {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
.media-right,
|
.media-right,
|
||||||
.media > .pull-right {
|
.media > .pull-right {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
@ -5035,6 +5061,7 @@ button.close {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-top: -10px;
|
margin-top: -10px;
|
||||||
font-family: serif;
|
font-family: serif;
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
.carousel-control .icon-prev {
|
.carousel-control .icon-prev {
|
||||||
left: 50%;
|
left: 50%;
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -27,24 +27,24 @@
|
||||||
|
|
||||||
// WebKit CSS3 transforms for supported devices
|
// WebKit CSS3 transforms for supported devices
|
||||||
@media all and (transform-3d), (-webkit-transform-3d) {
|
@media all and (transform-3d), (-webkit-transform-3d) {
|
||||||
.transition-transform(~'0.6s ease-in-out');
|
transition: transform .6s ease-in-out;
|
||||||
.backface-visibility(~'hidden');
|
backface-visibility: hidden;
|
||||||
.perspective(1000);
|
perspective: 1000;
|
||||||
|
|
||||||
&.next,
|
&.next,
|
||||||
&.active.right {
|
&.active.right {
|
||||||
.translate3d(100%, 0, 0);
|
transform: translate3d(100%, 0, 0);
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
&.prev,
|
&.prev,
|
||||||
&.active.left {
|
&.active.left {
|
||||||
.translate3d(-100%, 0, 0);
|
transform: translate3d(-100%, 0, 0);
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
&.next.left,
|
&.next.left,
|
||||||
&.prev.right,
|
&.prev.right,
|
||||||
&.active {
|
&.active {
|
||||||
.translate3d(0, 0, 0);
|
transform: translate3d(0, 0, 0);
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue