mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-11 08:04:59 +02:00
Use JS & Jade to generate the customizer variables form HTML from variables.less; fixes #11095
also updates variables file organization (courtesy @mdo)
This commit is contained in:
31
Gruntfile.js
31
Gruntfile.js
@@ -10,9 +10,11 @@ module.exports = function (grunt) {
|
|||||||
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
|
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var BsLessdocParser = require('./docs/grunt/bs-lessdoc-parser.js')
|
||||||
var fs = require('fs')
|
var fs = require('fs')
|
||||||
var generateGlyphiconsData = require('./docs/grunt/bs-glyphicons-data-generator.js')
|
var generateGlyphiconsData = require('./docs/grunt/bs-glyphicons-data-generator.js')
|
||||||
var generateRawFilesJs = require('./docs/grunt/bs-raw-files-generator.js')
|
var generateRawFilesJs = require('./docs/grunt/bs-raw-files-generator.js')
|
||||||
|
var path = require('path')
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
@@ -46,6 +48,9 @@ module.exports = function (grunt) {
|
|||||||
},
|
},
|
||||||
assets: {
|
assets: {
|
||||||
src: ['docs/assets/js/application.js', 'docs/assets/js/customizer.js']
|
src: ['docs/assets/js/application.js', 'docs/assets/js/customizer.js']
|
||||||
|
},
|
||||||
|
docsGrunt: {
|
||||||
|
src: ['docs/grunt/*.js']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -64,6 +69,9 @@ module.exports = function (grunt) {
|
|||||||
},
|
},
|
||||||
assets: {
|
assets: {
|
||||||
src: ['docs/assets/js/application.js', 'docs/assets/js/customizer.js']
|
src: ['docs/assets/js/application.js', 'docs/assets/js/customizer.js']
|
||||||
|
},
|
||||||
|
docsGrunt: {
|
||||||
|
src: ['docs/grunt/*.js']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -236,6 +244,23 @@ module.exports = function (grunt) {
|
|||||||
docs: {}
|
docs: {}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
jade: {
|
||||||
|
compile: {
|
||||||
|
options: {
|
||||||
|
pretty: true,
|
||||||
|
data: function () {
|
||||||
|
var filePath = path.join(__dirname, 'less/variables.less');
|
||||||
|
var fileContent = fs.readFileSync(filePath, {encoding: 'utf8'});
|
||||||
|
var parser = new BsLessdocParser(fileContent);
|
||||||
|
return {sections: parser.parseFile()};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
files: {
|
||||||
|
'docs/_includes/customizer-variables.html': 'docs/customizer-variables.jade'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
validation: {
|
validation: {
|
||||||
options: {
|
options: {
|
||||||
charset: 'utf-8',
|
charset: 'utf-8',
|
||||||
@@ -301,7 +326,7 @@ 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 (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'core') {
|
if (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'core') {
|
||||||
testSubtasks = testSubtasks.concat(['dist-css', 'csslint', 'jshint', 'jscs', 'qunit']);
|
testSubtasks = testSubtasks.concat(['dist-css', 'csslint', 'jshint', 'jscs', 'qunit', 'build-customizer-vars-form']);
|
||||||
}
|
}
|
||||||
// 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 (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'validate-html') {
|
if (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'validate-html') {
|
||||||
@@ -339,5 +364,7 @@ module.exports = function (grunt) {
|
|||||||
grunt.registerTask('build-glyphicons-data', generateGlyphiconsData);
|
grunt.registerTask('build-glyphicons-data', generateGlyphiconsData);
|
||||||
|
|
||||||
// task for building customizer
|
// task for building customizer
|
||||||
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', generateRawFilesJs);
|
grunt.registerTask('build-customizer', ['build-customizer-vars-form', 'build-raw-files']);
|
||||||
|
grunt.registerTask('build-customizer-vars-form', ['jade']);
|
||||||
|
grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', generateRawFilesJs);
|
||||||
};
|
};
|
||||||
|
1684
docs/_includes/customizer-variables.html
Normal file
1684
docs/_includes/customizer-variables.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1161,6 +1161,13 @@ h1[id] {
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bs-customizer-input {
|
||||||
|
float: left;
|
||||||
|
width: 33.333333%;
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Downloads */
|
/* Downloads */
|
||||||
.bs-customize-download .btn-outline {
|
.bs-customize-download .btn-outline {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
1365
docs/customize.html
1365
docs/customize.html
File diff suppressed because it is too large
Load Diff
18
docs/customizer-variables.jade
Normal file
18
docs/customizer-variables.jade
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-vars-form` Grunt task using the customizer-variables.jade template.
|
||||||
|
each section in sections
|
||||||
|
if section.customizable
|
||||||
|
h2(id=section.id)= section.heading
|
||||||
|
if section.docstring
|
||||||
|
p!= section.docstring.html
|
||||||
|
div.row
|
||||||
|
each variable in section.variables
|
||||||
|
div.bs-customizer-input
|
||||||
|
label(for="input-" + variable.name)= variable.name
|
||||||
|
input.form-control(
|
||||||
|
id="input-" + variable.name
|
||||||
|
type="text"
|
||||||
|
value=variable.defaultValue
|
||||||
|
data-var=variable.name)
|
||||||
|
if variable.docstring
|
||||||
|
p.help-block!= variable.docstring.html
|
||||||
|
// NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-vars-form` Grunt task using the customizer-variables.jade template.
|
179
docs/grunt/bs-lessdoc-parser.js
Normal file
179
docs/grunt/bs-lessdoc-parser.js
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
/* jshint node: true */
|
||||||
|
|
||||||
|
var markdown = require('markdown').markdown;
|
||||||
|
|
||||||
|
function markdown2html(markdownString) {
|
||||||
|
// the slice removes the <p>...</p> wrapper output by Markdown processor
|
||||||
|
return markdown.toHTML(markdownString.trim()).slice(3, -4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Mini-language:
|
||||||
|
//== This is a normal heading, which starts a section. Sections group variables together.
|
||||||
|
//## Optional description for the heading
|
||||||
|
|
||||||
|
//** Optional description for the following variable. You **can** use Markdown in descriptions to discuss `<html>` stuff.
|
||||||
|
@foo: #ffff;
|
||||||
|
|
||||||
|
//-- This is a heading for a section whose variables shouldn't be customizable
|
||||||
|
|
||||||
|
All other lines are ignored completely.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
var CUSTOMIZABLE_HEADING = /^[/]{2}={2}(.*)$/;
|
||||||
|
var UNCUSTOMIZABLE_HEADING = /^[/]{2}-{2}(.*)$/;
|
||||||
|
var SECTION_DOCSTRING = /^[/]{2}#{2}(.*)$/;
|
||||||
|
var VAR_ASSIGNMENT = /^(@[a-zA-Z0-9_-]+):[ ]*([^ ;][^;]+);[ ]*$/;
|
||||||
|
var VAR_DOCSTRING = /^[/]{2}[*]{2}(.*)$/;
|
||||||
|
|
||||||
|
function Section(heading, customizable) {
|
||||||
|
this.heading = heading.trim();
|
||||||
|
this.id = this.heading.replace(/\s+/g, '-').toLowerCase();
|
||||||
|
this.customizable = customizable;
|
||||||
|
this.docstring = null;
|
||||||
|
this.variables = [];
|
||||||
|
this.addVar = function (variable) {
|
||||||
|
this.variables.push(variable);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function VarDocstring(markdownString) {
|
||||||
|
this.html = markdown2html(markdownString);
|
||||||
|
}
|
||||||
|
|
||||||
|
function SectionDocstring(markdownString) {
|
||||||
|
this.html = markdown2html(markdownString);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Variable(name, defaultValue) {
|
||||||
|
this.name = name;
|
||||||
|
this.defaultValue = defaultValue;
|
||||||
|
this.docstring = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Tokenizer(fileContent) {
|
||||||
|
this._lines = fileContent.split('\n');
|
||||||
|
this._next = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
Tokenizer.prototype.unshift = function (token) {
|
||||||
|
if (this._next !== undefined) {
|
||||||
|
throw new Error('Attempted to unshift twice!');
|
||||||
|
}
|
||||||
|
this._next = token;
|
||||||
|
};
|
||||||
|
|
||||||
|
Tokenizer.prototype._shift = function () {
|
||||||
|
// returning null signals EOF
|
||||||
|
// returning undefined means the line was ignored
|
||||||
|
if (this._next !== undefined) {
|
||||||
|
var result = this._next;
|
||||||
|
this._next = undefined;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
if (this._lines.length <= 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var line = this._lines.shift();
|
||||||
|
var match = null;
|
||||||
|
match = CUSTOMIZABLE_HEADING.exec(line);
|
||||||
|
if (match !== null) {
|
||||||
|
return new Section(match[1], true);
|
||||||
|
}
|
||||||
|
match = UNCUSTOMIZABLE_HEADING.exec(line);
|
||||||
|
if (match !== null) {
|
||||||
|
return new Section(match[1], false);
|
||||||
|
}
|
||||||
|
match = SECTION_DOCSTRING.exec(line);
|
||||||
|
if (match !== null) {
|
||||||
|
return new SectionDocstring(match[1]);
|
||||||
|
}
|
||||||
|
match = VAR_DOCSTRING.exec(line);
|
||||||
|
if (match !== null) {
|
||||||
|
return new VarDocstring(match[1]);
|
||||||
|
}
|
||||||
|
var commentStart = line.lastIndexOf('//');
|
||||||
|
var varLine = (commentStart === -1) ? line : line.slice(0, commentStart);
|
||||||
|
match = VAR_ASSIGNMENT.exec(varLine);
|
||||||
|
if (match !== null) {
|
||||||
|
return new Variable(match[1], match[2]);
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
Tokenizer.prototype.shift = function () {
|
||||||
|
while (true) {
|
||||||
|
var result = this._shift();
|
||||||
|
if (result === undefined) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function Parser(fileContent) {
|
||||||
|
this._tokenizer = new Tokenizer(fileContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
Parser.prototype.parseFile = function () {
|
||||||
|
var sections = [];
|
||||||
|
while (true) {
|
||||||
|
var section = this.parseSection();
|
||||||
|
if (section === null) {
|
||||||
|
if (this._tokenizer.shift() !== null) {
|
||||||
|
throw new Error('Unexpected unparsed section of file remains!');
|
||||||
|
}
|
||||||
|
return sections;
|
||||||
|
}
|
||||||
|
sections.push(section);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Parser.prototype.parseSection = function () {
|
||||||
|
var section = this._tokenizer.shift();
|
||||||
|
if (section === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (!(section instanceof Section)) {
|
||||||
|
throw new Error('Expected section heading; got: ' + JSON.stringify(section));
|
||||||
|
}
|
||||||
|
var docstring = this._tokenizer.shift();
|
||||||
|
if (docstring instanceof SectionDocstring) {
|
||||||
|
section.docstring = docstring;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this._tokenizer.unshift(docstring);
|
||||||
|
}
|
||||||
|
this.parseVars(section);
|
||||||
|
return section;
|
||||||
|
};
|
||||||
|
|
||||||
|
Parser.prototype.parseVars = function (section) {
|
||||||
|
while (true) {
|
||||||
|
var variable = this.parseVar();
|
||||||
|
if (variable === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
section.addVar(variable);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Parser.prototype.parseVar = function () {
|
||||||
|
var docstring = this._tokenizer.shift();
|
||||||
|
if (!(docstring instanceof VarDocstring)) {
|
||||||
|
this._tokenizer.unshift(docstring);
|
||||||
|
docstring = null;
|
||||||
|
}
|
||||||
|
var variable = this._tokenizer.shift();
|
||||||
|
if (variable instanceof Variable) {
|
||||||
|
variable.docstring = docstring;
|
||||||
|
return variable;
|
||||||
|
}
|
||||||
|
this._tokenizer.unshift(variable);
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = Parser;
|
@@ -3,11 +3,9 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
// Global values
|
//== Colors
|
||||||
// --------------------------------------------------
|
//
|
||||||
|
//## Gray and brand colors for use across Bootstrap.
|
||||||
// Grays
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
@gray-darker: lighten(#000, 13.5%); // #222
|
@gray-darker: lighten(#000, 13.5%); // #222
|
||||||
@gray-dark: lighten(#000, 20%); // #333
|
@gray-dark: lighten(#000, 20%); // #333
|
||||||
@@ -15,32 +13,35 @@
|
|||||||
@gray-light: lighten(#000, 60%); // #999
|
@gray-light: lighten(#000, 60%); // #999
|
||||||
@gray-lighter: lighten(#000, 93.5%); // #eee
|
@gray-lighter: lighten(#000, 93.5%); // #eee
|
||||||
|
|
||||||
// Brand colors
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
@brand-primary: #428bca;
|
@brand-primary: #428bca;
|
||||||
@brand-success: #5cb85c;
|
@brand-success: #5cb85c;
|
||||||
@brand-info: #5bc0de;
|
@brand-info: #5bc0de;
|
||||||
@brand-warning: #f0ad4e;
|
@brand-warning: #f0ad4e;
|
||||||
@brand-danger: #d9534f;
|
@brand-danger: #d9534f;
|
||||||
|
|
||||||
// Scaffolding
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
|
//== Scaffolding
|
||||||
|
//
|
||||||
|
// ## Settings for some of the most global styles.
|
||||||
|
|
||||||
|
//** Background color for `<body>`.
|
||||||
@body-bg: #fff;
|
@body-bg: #fff;
|
||||||
|
//** Global text color on `<body>`.
|
||||||
@text-color: @gray-dark;
|
@text-color: @gray-dark;
|
||||||
|
|
||||||
// Links
|
//** Global textual link color.
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
@link-color: @brand-primary;
|
@link-color: @brand-primary;
|
||||||
|
//** Link hover color set via `darken()` function.
|
||||||
@link-hover-color: darken(@link-color, 15%);
|
@link-hover-color: darken(@link-color, 15%);
|
||||||
|
|
||||||
// Typography
|
|
||||||
// -------------------------
|
//== Typography
|
||||||
|
//
|
||||||
|
//## Font, line-height, and color for body text, headings, and more.
|
||||||
|
|
||||||
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
||||||
|
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
|
||||||
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
|
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||||
@font-family-base: @font-family-sans-serif;
|
@font-family-base: @font-family-sans-serif;
|
||||||
|
|
||||||
@@ -55,25 +56,29 @@
|
|||||||
@font-size-h5: @font-size-base;
|
@font-size-h5: @font-size-base;
|
||||||
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
|
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
|
||||||
|
|
||||||
|
//** Unit-less `line-height` for use in components like buttons.
|
||||||
@line-height-base: 1.428571429; // 20/14
|
@line-height-base: 1.428571429; // 20/14
|
||||||
|
//** Computed "line-height" (`font-size` × `line-height`) for use with `margin`, `padding`, etc.
|
||||||
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
|
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
|
||||||
|
|
||||||
|
//** By default, this inherits from the `<body>`.
|
||||||
@headings-font-family: inherit;
|
@headings-font-family: inherit;
|
||||||
@headings-font-weight: 500;
|
@headings-font-weight: 500;
|
||||||
@headings-line-height: 1.1;
|
@headings-line-height: 1.1;
|
||||||
@headings-color: inherit;
|
@headings-color: inherit;
|
||||||
|
|
||||||
|
|
||||||
// Iconography
|
//-- Iconography
|
||||||
// -------------------------
|
//
|
||||||
|
//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower.
|
||||||
|
|
||||||
@icon-font-path: "../fonts/";
|
@icon-font-path: "../fonts/";
|
||||||
@icon-font-name: "glyphicons-halflings-regular";
|
@icon-font-name: "glyphicons-halflings-regular";
|
||||||
|
|
||||||
|
|
||||||
// Components
|
//== Components
|
||||||
// -------------------------
|
//
|
||||||
// Based on 14px font-size and 1.428 line-height (~20px to start)
|
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
||||||
|
|
||||||
@padding-base-vertical: 6px;
|
@padding-base-vertical: 6px;
|
||||||
@padding-base-horizontal: 12px;
|
@padding-base-horizontal: 12px;
|
||||||
@@ -94,28 +99,41 @@
|
|||||||
@border-radius-large: 6px;
|
@border-radius-large: 6px;
|
||||||
@border-radius-small: 3px;
|
@border-radius-small: 3px;
|
||||||
|
|
||||||
|
//** Global color for active items (e.g., navs or dropdowns).
|
||||||
@component-active-color: #fff;
|
@component-active-color: #fff;
|
||||||
|
//** Global background color for active items (e.g., navs or dropdowns).
|
||||||
@component-active-bg: @brand-primary;
|
@component-active-bg: @brand-primary;
|
||||||
|
|
||||||
|
//** Width of the `border` for generating carets that indicator dropdowns.
|
||||||
@caret-width-base: 4px;
|
@caret-width-base: 4px;
|
||||||
|
//** Carets increase slightly in size for larger components.
|
||||||
@caret-width-large: 5px;
|
@caret-width-large: 5px;
|
||||||
|
|
||||||
// Tables
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
|
//== Tables
|
||||||
|
//
|
||||||
|
//## Customizes the `.table` component with basic values, each used across all table variations.
|
||||||
|
|
||||||
|
//** Padding for `<th>`s and `<td>`s.
|
||||||
@table-cell-padding: 8px;
|
@table-cell-padding: 8px;
|
||||||
|
//** Padding for cells in `.table-condensed`.
|
||||||
@table-condensed-cell-padding: 5px;
|
@table-condensed-cell-padding: 5px;
|
||||||
|
|
||||||
@table-bg: transparent; // overall background-color
|
//** Default background color used for all tables.
|
||||||
@table-bg-accent: #f9f9f9; // for striping
|
@table-bg: transparent;
|
||||||
|
//** Background color used for `.table-striped`.
|
||||||
|
@table-bg-accent: #f9f9f9;
|
||||||
|
//** Background color used for `.table-hover`.
|
||||||
@table-bg-hover: #f5f5f5;
|
@table-bg-hover: #f5f5f5;
|
||||||
@table-bg-active: @table-bg-hover;
|
@table-bg-active: @table-bg-hover;
|
||||||
|
|
||||||
@table-border-color: #ddd; // table and cell border
|
//** Border color for table and cell borders.
|
||||||
|
@table-border-color: #ddd;
|
||||||
|
|
||||||
|
|
||||||
// Buttons
|
//== Buttons
|
||||||
// -------------------------
|
//
|
||||||
|
//## For each of Bootstrap's buttons, define text, background and border color.
|
||||||
|
|
||||||
@btn-font-weight: normal;
|
@btn-font-weight: normal;
|
||||||
|
|
||||||
@@ -146,61 +164,84 @@
|
|||||||
@btn-link-disabled-color: @gray-light;
|
@btn-link-disabled-color: @gray-light;
|
||||||
|
|
||||||
|
|
||||||
// Forms
|
//== Forms
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** `<input>` background color
|
||||||
@input-bg: #fff;
|
@input-bg: #fff;
|
||||||
|
//** `<input disabled>` background color
|
||||||
@input-bg-disabled: @gray-lighter;
|
@input-bg-disabled: @gray-lighter;
|
||||||
|
|
||||||
|
//** Text color for `<input>`s
|
||||||
@input-color: @gray;
|
@input-color: @gray;
|
||||||
|
//** `<input>` border color
|
||||||
@input-border: #ccc;
|
@input-border: #ccc;
|
||||||
|
//** `<input>` border radius
|
||||||
@input-border-radius: @border-radius-base;
|
@input-border-radius: @border-radius-base;
|
||||||
|
//** Border color for inputs on focus
|
||||||
@input-border-focus: #66afe9;
|
@input-border-focus: #66afe9;
|
||||||
|
|
||||||
|
//** Placeholder text color
|
||||||
@input-color-placeholder: @gray-light;
|
@input-color-placeholder: @gray-light;
|
||||||
|
|
||||||
|
//** Default `.form-control` height
|
||||||
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
|
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
|
||||||
|
//** Large `.form-control` height
|
||||||
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
|
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
|
||||||
|
//** Small `.form-control` height
|
||||||
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
||||||
|
|
||||||
@legend-color: @gray-dark;
|
@legend-color: @gray-dark;
|
||||||
@legend-border-color: #e5e5e5;
|
@legend-border-color: #e5e5e5;
|
||||||
|
|
||||||
|
//** Background color for textual input addons
|
||||||
@input-group-addon-bg: @gray-lighter;
|
@input-group-addon-bg: @gray-lighter;
|
||||||
|
//** Border color for textual input addons
|
||||||
@input-group-addon-border-color: @input-border;
|
@input-group-addon-border-color: @input-border;
|
||||||
|
|
||||||
|
|
||||||
// Dropdowns
|
//== Dropdowns
|
||||||
// -------------------------
|
//
|
||||||
|
//## Dropdown menu container and contents.
|
||||||
|
|
||||||
|
//** Background for the dropdown menu.
|
||||||
@dropdown-bg: #fff;
|
@dropdown-bg: #fff;
|
||||||
|
//** Dropdown menu `border-color`.
|
||||||
@dropdown-border: rgba(0,0,0,.15);
|
@dropdown-border: rgba(0,0,0,.15);
|
||||||
|
//** Dropdown menu `border-color` **for IE8**.
|
||||||
@dropdown-fallback-border: #ccc;
|
@dropdown-fallback-border: #ccc;
|
||||||
|
//** Divider color for between dropdown items.
|
||||||
@dropdown-divider-bg: #e5e5e5;
|
@dropdown-divider-bg: #e5e5e5;
|
||||||
|
|
||||||
|
//** Dropdown link text color.
|
||||||
@dropdown-link-color: @gray-dark;
|
@dropdown-link-color: @gray-dark;
|
||||||
|
//** Hover color for dropdown links.
|
||||||
@dropdown-link-hover-color: darken(@gray-dark, 5%);
|
@dropdown-link-hover-color: darken(@gray-dark, 5%);
|
||||||
|
//** Hover background for dropdown links.
|
||||||
@dropdown-link-hover-bg: #f5f5f5;
|
@dropdown-link-hover-bg: #f5f5f5;
|
||||||
|
|
||||||
|
//** Active dropdown menu item text color.
|
||||||
@dropdown-link-active-color: @component-active-color;
|
@dropdown-link-active-color: @component-active-color;
|
||||||
|
//** Active dropdown menu item background color.
|
||||||
@dropdown-link-active-bg: @component-active-bg;
|
@dropdown-link-active-bg: @component-active-bg;
|
||||||
|
|
||||||
|
//** Disabled dropdown menu item background color.
|
||||||
@dropdown-link-disabled-color: @gray-light;
|
@dropdown-link-disabled-color: @gray-light;
|
||||||
|
|
||||||
|
//** Text color for headers within dropdown menus.
|
||||||
@dropdown-header-color: @gray-light;
|
@dropdown-header-color: @gray-light;
|
||||||
|
|
||||||
// Note: Deprecated @dropdown-caret-color as of v3.1
|
// Note: Deprecated @dropdown-caret-color as of v3.1
|
||||||
@dropdown-caret-color: #000;
|
@dropdown-caret-color: #000;
|
||||||
|
|
||||||
|
|
||||||
// COMPONENT VARIABLES
|
//-- Z-index master list
|
||||||
// --------------------------------------------------
|
//
|
||||||
|
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||||
|
// of components dependent on the z-axis and are designed to all work together.
|
||||||
// Z-index master list
|
//
|
||||||
// -------------------------
|
// Note: These variables are not generated into the Customizer.
|
||||||
// Used for a bird's eye view of components dependent on the z-axis
|
|
||||||
// Try to avoid customizing these :)
|
|
||||||
|
|
||||||
@zindex-navbar: 1000;
|
@zindex-navbar: 1000;
|
||||||
@zindex-dropdown: 1000;
|
@zindex-dropdown: 1000;
|
||||||
@@ -210,8 +251,10 @@
|
|||||||
@zindex-modal-background: 1040;
|
@zindex-modal-background: 1040;
|
||||||
@zindex-modal: 1050;
|
@zindex-modal: 1050;
|
||||||
|
|
||||||
// Media queries breakpoints
|
|
||||||
// --------------------------------------------------
|
//== Media queries breakpoints
|
||||||
|
//
|
||||||
|
//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
|
||||||
|
|
||||||
// Extra small screen / phone
|
// Extra small screen / phone
|
||||||
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
|
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
|
||||||
@@ -243,24 +286,24 @@
|
|||||||
@screen-md-max: (@screen-lg-min - 1);
|
@screen-md-max: (@screen-lg-min - 1);
|
||||||
|
|
||||||
|
|
||||||
// Grid system
|
//== Grid system
|
||||||
// --------------------------------------------------
|
//
|
||||||
|
//## Define your custom responsive grid.
|
||||||
|
|
||||||
// Number of columns in the grid system
|
//** Number of columns in the grid.
|
||||||
@grid-columns: 12;
|
@grid-columns: 12;
|
||||||
// Padding, to be divided by two and applied to the left and right of all columns
|
//** Padding between columns. Gets divided in half for the left and right.
|
||||||
@grid-gutter-width: 30px;
|
@grid-gutter-width: 30px;
|
||||||
|
|
||||||
// Navbar collapse
|
// Navbar collapse
|
||||||
|
//** Point at which the navbar becomes uncollapsed.
|
||||||
// Point at which the navbar becomes uncollapsed
|
|
||||||
@grid-float-breakpoint: @screen-sm-min;
|
@grid-float-breakpoint: @screen-sm-min;
|
||||||
// Point at which the navbar begins collapsing
|
//** Point at which the navbar begins collapsing.
|
||||||
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
|
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
|
||||||
|
|
||||||
|
|
||||||
// Navbar
|
//== Navbar
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
// Basics of a navbar
|
// Basics of a navbar
|
||||||
@navbar-height: 50px;
|
@navbar-height: 50px;
|
||||||
@@ -294,7 +337,6 @@
|
|||||||
|
|
||||||
|
|
||||||
// Inverted navbar
|
// Inverted navbar
|
||||||
//
|
|
||||||
// Reset inverted navbar basics
|
// Reset inverted navbar basics
|
||||||
@navbar-inverse-color: @gray-light;
|
@navbar-inverse-color: @gray-light;
|
||||||
@navbar-inverse-bg: #222;
|
@navbar-inverse-bg: #222;
|
||||||
@@ -320,9 +362,11 @@
|
|||||||
@navbar-inverse-toggle-border-color: #333;
|
@navbar-inverse-toggle-border-color: #333;
|
||||||
|
|
||||||
|
|
||||||
// Navs
|
//== Navs
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//== Shared nav styles
|
||||||
@nav-link-padding: 10px 15px;
|
@nav-link-padding: 10px 15px;
|
||||||
@nav-link-hover-bg: @gray-lighter;
|
@nav-link-hover-bg: @gray-lighter;
|
||||||
|
|
||||||
@@ -331,7 +375,7 @@
|
|||||||
|
|
||||||
@nav-open-link-hover-color: #fff;
|
@nav-open-link-hover-color: #fff;
|
||||||
|
|
||||||
// Tabs
|
//== Tabs
|
||||||
@nav-tabs-border-color: #ddd;
|
@nav-tabs-border-color: #ddd;
|
||||||
|
|
||||||
@nav-tabs-link-hover-border-color: @gray-lighter;
|
@nav-tabs-link-hover-border-color: @gray-lighter;
|
||||||
@@ -343,14 +387,15 @@
|
|||||||
@nav-tabs-justified-link-border-color: #ddd;
|
@nav-tabs-justified-link-border-color: #ddd;
|
||||||
@nav-tabs-justified-active-link-border-color: @body-bg;
|
@nav-tabs-justified-active-link-border-color: @body-bg;
|
||||||
|
|
||||||
// Pills
|
//== Pills
|
||||||
@nav-pills-border-radius: @border-radius-base;
|
@nav-pills-border-radius: @border-radius-base;
|
||||||
@nav-pills-active-link-hover-bg: @component-active-bg;
|
@nav-pills-active-link-hover-bg: @component-active-bg;
|
||||||
@nav-pills-active-link-hover-color: @component-active-color;
|
@nav-pills-active-link-hover-color: @component-active-color;
|
||||||
|
|
||||||
|
|
||||||
// Pagination
|
//== Pagination
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@pagination-color: @link-color;
|
@pagination-color: @link-color;
|
||||||
@pagination-bg: #fff;
|
@pagination-bg: #fff;
|
||||||
@@ -369,8 +414,9 @@
|
|||||||
@pagination-disabled-border: #ddd;
|
@pagination-disabled-border: #ddd;
|
||||||
|
|
||||||
|
|
||||||
// Pager
|
//== Pager
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@pager-bg: @pagination-bg;
|
@pager-bg: @pagination-bg;
|
||||||
@pager-border: @pagination-border;
|
@pager-border: @pagination-border;
|
||||||
@@ -384,8 +430,9 @@
|
|||||||
@pager-disabled-color: @pagination-disabled-color;
|
@pager-disabled-color: @pagination-disabled-color;
|
||||||
|
|
||||||
|
|
||||||
// Jumbotron
|
//== Jumbotron
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@jumbotron-padding: 30px;
|
@jumbotron-padding: 30px;
|
||||||
@jumbotron-color: inherit;
|
@jumbotron-color: inherit;
|
||||||
@@ -394,8 +441,9 @@
|
|||||||
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
||||||
|
|
||||||
|
|
||||||
// Form states and alerts
|
//== Form states and alerts
|
||||||
// -------------------------
|
//
|
||||||
|
//## Define colors for form feedback states and, by default, alerts.
|
||||||
|
|
||||||
@state-success-text: #3c763d;
|
@state-success-text: #3c763d;
|
||||||
@state-success-bg: #dff0d8;
|
@state-success-bg: #dff0d8;
|
||||||
@@ -414,70 +462,112 @@
|
|||||||
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
|
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
|
||||||
|
|
||||||
|
|
||||||
// Tooltips
|
//== Tooltips
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Tooltip max width
|
||||||
@tooltip-max-width: 200px;
|
@tooltip-max-width: 200px;
|
||||||
|
//** Tooltip text color
|
||||||
@tooltip-color: #fff;
|
@tooltip-color: #fff;
|
||||||
|
//** Tooltip background color
|
||||||
@tooltip-bg: #000;
|
@tooltip-bg: #000;
|
||||||
@tooltip-opacity: .9;
|
@tooltip-opacity: .9;
|
||||||
|
|
||||||
|
//** Tooltip arrow width
|
||||||
@tooltip-arrow-width: 5px;
|
@tooltip-arrow-width: 5px;
|
||||||
|
//** Tooltip arrow color
|
||||||
@tooltip-arrow-color: @tooltip-bg;
|
@tooltip-arrow-color: @tooltip-bg;
|
||||||
|
|
||||||
|
|
||||||
// Popovers
|
//== Popovers
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Popover body background color
|
||||||
@popover-bg: #fff;
|
@popover-bg: #fff;
|
||||||
|
//** Popover maximum width
|
||||||
@popover-max-width: 276px;
|
@popover-max-width: 276px;
|
||||||
|
//** Popover border color
|
||||||
@popover-border-color: rgba(0,0,0,.2);
|
@popover-border-color: rgba(0,0,0,.2);
|
||||||
|
//** Popover fallback border color
|
||||||
@popover-fallback-border-color: #ccc;
|
@popover-fallback-border-color: #ccc;
|
||||||
|
|
||||||
|
//** Popover title background color
|
||||||
@popover-title-bg: darken(@popover-bg, 3%);
|
@popover-title-bg: darken(@popover-bg, 3%);
|
||||||
|
|
||||||
|
//** Popover arrow width
|
||||||
@popover-arrow-width: 10px;
|
@popover-arrow-width: 10px;
|
||||||
|
//** Popover arrow color
|
||||||
@popover-arrow-color: #fff;
|
@popover-arrow-color: #fff;
|
||||||
|
|
||||||
|
//** Popover outer arrow width
|
||||||
@popover-arrow-outer-width: (@popover-arrow-width + 1);
|
@popover-arrow-outer-width: (@popover-arrow-width + 1);
|
||||||
|
//** Popover outer arrow color
|
||||||
@popover-arrow-outer-color: rgba(0,0,0,.25);
|
@popover-arrow-outer-color: rgba(0,0,0,.25);
|
||||||
|
//** Popover outer arrow fallback color
|
||||||
@popover-arrow-outer-fallback-color: #999;
|
@popover-arrow-outer-fallback-color: #999;
|
||||||
|
|
||||||
|
|
||||||
// Labels
|
//== Labels
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Default label background color
|
||||||
@label-default-bg: @gray-light;
|
@label-default-bg: @gray-light;
|
||||||
|
//** Primary label background color
|
||||||
@label-primary-bg: @brand-primary;
|
@label-primary-bg: @brand-primary;
|
||||||
|
//** Success label background color
|
||||||
@label-success-bg: @brand-success;
|
@label-success-bg: @brand-success;
|
||||||
|
//** Info label background color
|
||||||
@label-info-bg: @brand-info;
|
@label-info-bg: @brand-info;
|
||||||
|
//** Warning label background color
|
||||||
@label-warning-bg: @brand-warning;
|
@label-warning-bg: @brand-warning;
|
||||||
|
//** Danger label background color
|
||||||
@label-danger-bg: @brand-danger;
|
@label-danger-bg: @brand-danger;
|
||||||
|
|
||||||
|
//** Default label text color
|
||||||
@label-color: #fff;
|
@label-color: #fff;
|
||||||
|
//** Default text color of a linked label
|
||||||
@label-link-hover-color: #fff;
|
@label-link-hover-color: #fff;
|
||||||
|
|
||||||
|
|
||||||
// Modals
|
//== Modals
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Padding applied to the modal body
|
||||||
@modal-inner-padding: 20px;
|
@modal-inner-padding: 20px;
|
||||||
|
|
||||||
|
//** Padding applied to the modal title
|
||||||
@modal-title-padding: 15px;
|
@modal-title-padding: 15px;
|
||||||
|
//** Modal title line-height
|
||||||
@modal-title-line-height: @line-height-base;
|
@modal-title-line-height: @line-height-base;
|
||||||
|
|
||||||
|
//** Background color of modal content area
|
||||||
@modal-content-bg: #fff;
|
@modal-content-bg: #fff;
|
||||||
|
//** Modal content border color
|
||||||
@modal-content-border-color: rgba(0,0,0,.2);
|
@modal-content-border-color: rgba(0,0,0,.2);
|
||||||
|
//** Modal content border color <strong>for IE8</strong>
|
||||||
@modal-content-fallback-border-color: #999;
|
@modal-content-fallback-border-color: #999;
|
||||||
|
|
||||||
|
//** Modal backdrop background color
|
||||||
@modal-backdrop-bg: #000;
|
@modal-backdrop-bg: #000;
|
||||||
|
//** Modal backdrop opacity
|
||||||
@modal-backdrop-opacity: .5;
|
@modal-backdrop-opacity: .5;
|
||||||
|
//** Modal header border color
|
||||||
@modal-header-border-color: #e5e5e5;
|
@modal-header-border-color: #e5e5e5;
|
||||||
|
//** Modal footer border color
|
||||||
@modal-footer-border-color: @modal-header-border-color;
|
@modal-footer-border-color: @modal-header-border-color;
|
||||||
|
|
||||||
@modal-lg: 900px;
|
@modal-lg: 900px;
|
||||||
@modal-sm: 300px;
|
@modal-sm: 300px;
|
||||||
|
|
||||||
|
|
||||||
// Alerts
|
//== Alerts
|
||||||
// -------------------------
|
//
|
||||||
|
//## Define alert colors, border radius, and padding.
|
||||||
|
|
||||||
@alert-padding: 15px;
|
@alert-padding: 15px;
|
||||||
@alert-border-radius: @border-radius-base;
|
@alert-border-radius: @border-radius-base;
|
||||||
@alert-link-font-weight: bold;
|
@alert-link-font-weight: bold;
|
||||||
@@ -499,39 +589,61 @@
|
|||||||
@alert-danger-border: @state-danger-border;
|
@alert-danger-border: @state-danger-border;
|
||||||
|
|
||||||
|
|
||||||
// Progress bars
|
//== Progress bars
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Background color of the whole progress component
|
||||||
@progress-bg: #f5f5f5;
|
@progress-bg: #f5f5f5;
|
||||||
|
//** Progress bar text color
|
||||||
@progress-bar-color: #fff;
|
@progress-bar-color: #fff;
|
||||||
|
|
||||||
|
//** Default progress bar color
|
||||||
@progress-bar-bg: @brand-primary;
|
@progress-bar-bg: @brand-primary;
|
||||||
|
//** Success progress bar color
|
||||||
@progress-bar-success-bg: @brand-success;
|
@progress-bar-success-bg: @brand-success;
|
||||||
@progress-bar-info-bg: @brand-info;
|
//** Warning progress bar color
|
||||||
@progress-bar-warning-bg: @brand-warning;
|
@progress-bar-warning-bg: @brand-warning;
|
||||||
|
//** Danger progress bar color
|
||||||
@progress-bar-danger-bg: @brand-danger;
|
@progress-bar-danger-bg: @brand-danger;
|
||||||
|
//** Info progress bar color
|
||||||
|
@progress-bar-info-bg: @brand-info;
|
||||||
|
|
||||||
|
|
||||||
// List group
|
//== List group
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Background color on `.list-group-item`
|
||||||
@list-group-bg: #fff;
|
@list-group-bg: #fff;
|
||||||
|
//** `.list-group-item` border color
|
||||||
@list-group-border: #ddd;
|
@list-group-border: #ddd;
|
||||||
|
//** List group border radius
|
||||||
@list-group-border-radius: @border-radius-base;
|
@list-group-border-radius: @border-radius-base;
|
||||||
|
|
||||||
|
//** Background color of single list elements on hover
|
||||||
@list-group-hover-bg: #f5f5f5;
|
@list-group-hover-bg: #f5f5f5;
|
||||||
|
//** Text color of active list elements
|
||||||
@list-group-active-color: @component-active-color;
|
@list-group-active-color: @component-active-color;
|
||||||
|
//** Background color of active list elements
|
||||||
@list-group-active-bg: @component-active-bg;
|
@list-group-active-bg: @component-active-bg;
|
||||||
|
//** Border color of active list elements
|
||||||
@list-group-active-border: @list-group-active-bg;
|
@list-group-active-border: @list-group-active-bg;
|
||||||
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
|
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
|
||||||
|
|
||||||
@list-group-link-color: #555;
|
@list-group-link-color: #555;
|
||||||
@list-group-link-heading-color: #333;
|
@list-group-link-heading-color: #333;
|
||||||
|
|
||||||
// Panels
|
|
||||||
// -------------------------
|
//== Panels
|
||||||
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@panel-bg: #fff;
|
@panel-bg: #fff;
|
||||||
@panel-body-padding: 15px;
|
@panel-body-padding: 15px;
|
||||||
@panel-border-radius: @border-radius-base;
|
@panel-border-radius: @border-radius-base;
|
||||||
|
|
||||||
|
//** Border color for elements within panels
|
||||||
@panel-inner-border: #ddd;
|
@panel-inner-border: #ddd;
|
||||||
@panel-footer-bg: #f5f5f5;
|
@panel-footer-bg: #f5f5f5;
|
||||||
|
|
||||||
@@ -560,30 +672,45 @@
|
|||||||
@panel-danger-heading-bg: @state-danger-bg;
|
@panel-danger-heading-bg: @state-danger-bg;
|
||||||
|
|
||||||
|
|
||||||
// Thumbnails
|
//== Thumbnails
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Padding around the thumbnail image
|
||||||
@thumbnail-padding: 4px;
|
@thumbnail-padding: 4px;
|
||||||
|
//** Thumbnail background color
|
||||||
@thumbnail-bg: @body-bg;
|
@thumbnail-bg: @body-bg;
|
||||||
|
//** Thumbnail border color
|
||||||
@thumbnail-border: #ddd;
|
@thumbnail-border: #ddd;
|
||||||
|
//** Thumbnail border radius
|
||||||
@thumbnail-border-radius: @border-radius-base;
|
@thumbnail-border-radius: @border-radius-base;
|
||||||
|
|
||||||
|
//** Custom text color for thumbnail captions
|
||||||
@thumbnail-caption-color: @text-color;
|
@thumbnail-caption-color: @text-color;
|
||||||
|
//** Padding around the thumbnail caption
|
||||||
@thumbnail-caption-padding: 9px;
|
@thumbnail-caption-padding: 9px;
|
||||||
|
|
||||||
|
|
||||||
// Wells
|
//== Wells
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@well-bg: #f5f5f5;
|
@well-bg: #f5f5f5;
|
||||||
@well-border: darken(@well-bg, 7%);
|
@well-border: darken(@well-bg, 7%);
|
||||||
|
|
||||||
|
|
||||||
// Badges
|
//== Badges
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@badge-color: #fff;
|
@badge-color: #fff;
|
||||||
|
//** Linked badge text color on hover
|
||||||
@badge-link-hover-color: #fff;
|
@badge-link-hover-color: #fff;
|
||||||
@badge-bg: @gray-light;
|
@badge-bg: @gray-light;
|
||||||
|
|
||||||
|
//** Badge text color in active nav link
|
||||||
@badge-active-color: @link-color;
|
@badge-active-color: @link-color;
|
||||||
|
//** Badge background color in active nav link
|
||||||
@badge-active-bg: #fff;
|
@badge-active-bg: #fff;
|
||||||
|
|
||||||
@badge-font-weight: bold;
|
@badge-font-weight: bold;
|
||||||
@@ -591,18 +718,25 @@
|
|||||||
@badge-border-radius: 10px;
|
@badge-border-radius: 10px;
|
||||||
|
|
||||||
|
|
||||||
// Breadcrumbs
|
//== Breadcrumbs
|
||||||
// -------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@breadcrumb-padding-vertical: 8px;
|
@breadcrumb-padding-vertical: 8px;
|
||||||
@breadcrumb-padding-horizontal: 15px;
|
@breadcrumb-padding-horizontal: 15px;
|
||||||
|
//** Breadcrumb background color
|
||||||
@breadcrumb-bg: #f5f5f5;
|
@breadcrumb-bg: #f5f5f5;
|
||||||
|
//** Breadcrumb text color
|
||||||
@breadcrumb-color: #ccc;
|
@breadcrumb-color: #ccc;
|
||||||
|
//** Text color of current page in the breadcrumb
|
||||||
@breadcrumb-active-color: @gray-light;
|
@breadcrumb-active-color: @gray-light;
|
||||||
|
//** Textual separator for between breadcrumb elements
|
||||||
@breadcrumb-separator: "/";
|
@breadcrumb-separator: "/";
|
||||||
|
|
||||||
|
|
||||||
// Carousel
|
//== Carousel
|
||||||
// ------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
|
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
|
||||||
|
|
||||||
@@ -617,15 +751,19 @@
|
|||||||
@carousel-caption-color: #fff;
|
@carousel-caption-color: #fff;
|
||||||
|
|
||||||
|
|
||||||
// Close
|
//== Close
|
||||||
// ------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@close-font-weight: bold;
|
@close-font-weight: bold;
|
||||||
@close-color: #000;
|
@close-color: #000;
|
||||||
@close-text-shadow: 0 1px 0 #fff;
|
@close-text-shadow: 0 1px 0 #fff;
|
||||||
|
|
||||||
|
|
||||||
// Code
|
//== Code
|
||||||
// ------------------------
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
@code-color: #c7254e;
|
@code-color: #c7254e;
|
||||||
@code-bg: #f9f2f4;
|
@code-bg: #f9f2f4;
|
||||||
|
|
||||||
@@ -637,36 +775,51 @@
|
|||||||
@pre-border-color: #ccc;
|
@pre-border-color: #ccc;
|
||||||
@pre-scrollable-max-height: 340px;
|
@pre-scrollable-max-height: 340px;
|
||||||
|
|
||||||
// Type
|
|
||||||
// ------------------------
|
//== Type
|
||||||
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Text muted color
|
||||||
@text-muted: @gray-light;
|
@text-muted: @gray-light;
|
||||||
|
//** Abbreviations and acronyms border color
|
||||||
@abbr-border-color: @gray-light;
|
@abbr-border-color: @gray-light;
|
||||||
|
//** Headings small color
|
||||||
@headings-small-color: @gray-light;
|
@headings-small-color: @gray-light;
|
||||||
|
//** Blockquote small color
|
||||||
@blockquote-small-color: @gray-light;
|
@blockquote-small-color: @gray-light;
|
||||||
|
//** Blockquote border color
|
||||||
@blockquote-border-color: @gray-lighter;
|
@blockquote-border-color: @gray-lighter;
|
||||||
|
//** Page header border color
|
||||||
@page-header-border-color: @gray-lighter;
|
@page-header-border-color: @gray-lighter;
|
||||||
|
|
||||||
// Miscellaneous
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
// Hr border color
|
//== Miscellaneous
|
||||||
|
//
|
||||||
|
//##
|
||||||
|
|
||||||
|
//** Horizontal line color.
|
||||||
@hr-border: @gray-lighter;
|
@hr-border: @gray-lighter;
|
||||||
|
|
||||||
// Horizontal forms & lists
|
//** Horizontal offset for forms and lists.
|
||||||
@component-offset-horizontal: 180px;
|
@component-offset-horizontal: 180px;
|
||||||
|
|
||||||
|
|
||||||
// Container sizes
|
//== Container sizes
|
||||||
// --------------------------------------------------
|
//
|
||||||
|
//## Define the maximum width of `.container` for different screen sizes.
|
||||||
|
|
||||||
// Small screen / tablet
|
// Small screen / tablet
|
||||||
@container-tablet: ((720px + @grid-gutter-width));
|
@container-tablet: ((720px + @grid-gutter-width));
|
||||||
|
//** For `@screen-sm-min` and up.
|
||||||
@container-sm: @container-tablet;
|
@container-sm: @container-tablet;
|
||||||
|
|
||||||
// Medium screen / desktop
|
// Medium screen / desktop
|
||||||
@container-desktop: ((940px + @grid-gutter-width));
|
@container-desktop: ((940px + @grid-gutter-width));
|
||||||
|
//** For `@screen-md-min` and up.
|
||||||
@container-md: @container-desktop;
|
@container-md: @container-desktop;
|
||||||
|
|
||||||
// Large screen / wide desktop
|
// Large screen / wide desktop
|
||||||
@container-large-desktop: ((1140px + @grid-gutter-width));
|
@container-large-desktop: ((1140px + @grid-gutter-width));
|
||||||
|
//** For `@screen-lg-min` and up.
|
||||||
@container-lg: @container-large-desktop;
|
@container-lg: @container-large-desktop;
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
"grunt-contrib-connect": "~0.6.0",
|
"grunt-contrib-connect": "~0.6.0",
|
||||||
"grunt-contrib-copy": "~0.5.0",
|
"grunt-contrib-copy": "~0.5.0",
|
||||||
"grunt-contrib-csslint": "~0.2.0",
|
"grunt-contrib-csslint": "~0.2.0",
|
||||||
|
"grunt-contrib-jade": "~0.8.0",
|
||||||
"grunt-contrib-jshint": "~0.8.0",
|
"grunt-contrib-jshint": "~0.8.0",
|
||||||
"grunt-contrib-less": "~0.9.0",
|
"grunt-contrib-less": "~0.9.0",
|
||||||
"grunt-contrib-qunit": "~0.3.0",
|
"grunt-contrib-qunit": "~0.3.0",
|
||||||
@@ -44,7 +45,8 @@
|
|||||||
"grunt-jscs-checker": "~0.3.0",
|
"grunt-jscs-checker": "~0.3.0",
|
||||||
"grunt-saucelabs": "~4.1.2",
|
"grunt-saucelabs": "~4.1.2",
|
||||||
"grunt-sed": "~0.1.1",
|
"grunt-sed": "~0.1.1",
|
||||||
"load-grunt-tasks": "~0.2.1"
|
"load-grunt-tasks": "~0.2.1",
|
||||||
|
"markdown": "~0.5.0"
|
||||||
},
|
},
|
||||||
"jspm": {
|
"jspm": {
|
||||||
"main": "js/bootstrap",
|
"main": "js/bootstrap",
|
||||||
|
Reference in New Issue
Block a user