1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-24 20:02:53 +01:00

remove remaining remnants of the Customizer

This commit is contained in:
Chris Rebert 2014-12-17 13:44:52 -08:00
parent 52c80891c2
commit f24a1cb28d
10 changed files with 0 additions and 2279 deletions

View File

@ -36,7 +36,6 @@ Our bug tracker utilizes several labels to help organize and identify issues. He
- `browser bug` - Issues that are reported to us, but actually are the result of a browser-specific bug. These are diagnosed with reduced test cases and result in a issue opened on that browser's own bug tracker.
- `confirmed` - Issues that have been confirmed with a reduced test case and identify a bug in Bootstrap.
- `css` - Issues stemming from our compiled CSS or source Less files.
- `customizer` - Issues with our web-based Customizer.
- `docs` - Issues for improving or updating our documentation.
- `examples` - Issues involving the example templates included in our docs.
- `feature` - Issues asking for a new feature to be added, or an existing one to be extended or modified. New features require a minor version bump (e.g., `v3.0.0` to `v3.1.0`).

View File

@ -1,45 +0,0 @@
<!-- NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.jade template.-->
<li><a href="#import">Import</a></li>
<li><a href="#less">Less components</a></li>
<li><a href="#plugins">jQuery plugins</a></li>
<li><a href="#less-variables">Less variables</a>
<ul class="nav">
<li><a href="#colors">Colors</a></li>
<li><a href="#scaffolding">Scaffolding</a></li>
<li><a href="#global-settings">Global settings</a></li>
<li><a href="#typography">Typography</a></li>
<li><a href="#components">Components</a></li>
<li><a href="#tables">Tables</a></li>
<li><a href="#buttons">Buttons</a></li>
<li><a href="#forms">Forms</a></li>
<li><a href="#dropdowns">Dropdowns</a></li>
<li><a href="#media-queries-breakpoints">Media queries breakpoints</a></li>
<li><a href="#grid-system">Grid system</a></li>
<li><a href="#container-sizes">Container sizes</a></li>
<li><a href="#navbar">Navbar</a></li>
<li><a href="#navs">Navs</a></li>
<li><a href="#tabs">Tabs</a></li>
<li><a href="#pills">Pills</a></li>
<li><a href="#pagination">Pagination</a></li>
<li><a href="#pager">Pager</a></li>
<li><a href="#jumbotron">Jumbotron</a></li>
<li><a href="#form-states-and-alerts">Form states and alerts</a></li>
<li><a href="#tooltips">Tooltips</a></li>
<li><a href="#popovers">Popovers</a></li>
<li><a href="#labels">Labels</a></li>
<li><a href="#modals">Modals</a></li>
<li><a href="#alerts">Alerts</a></li>
<li><a href="#progress-bars">Progress bars</a></li>
<li><a href="#list-group">List group</a></li>
<li><a href="#thumbnails">Thumbnails</a></li>
<li><a href="#badges">Badges</a></li>
<li><a href="#breadcrumbs">Breadcrumbs</a></li>
<li><a href="#carousel">Carousel</a></li>
<li><a href="#close">Close</a></li>
<li><a href="#code">Code</a></li>
<li><a href="#type">Type</a></li>
</ul>
</li>
<li><a href="#download">Download</a></li>
<!-- NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.jade template.-->

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
// NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.jade template.
li
a(href='#import-drop-target') Import
li
a(href='#less') Less components
li
a(href='#plugins') jQuery plugins
li
a(href='#less-variables') Less variables
ul.nav
each section in sections
if section.customizable
li
a(href='#'+section.id)= section.heading
li
a(href='#download') Download
// NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.jade template.

View File

@ -1,23 +0,0 @@
// NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` 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
each subsection in section.subsections
if subsection.heading
h3(id=subsection.id)= subsection.heading
div.row
each variable, index in subsection.variables
if index > 0 && index % 3 === 0
div.clearfix
div.col-xs-4
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-html` Grunt task using the customizer-variables.jade template.

View File

@ -1308,122 +1308,6 @@ h1[id] {
}
}
/*
* Customizer
*
* Since this is so form control heavy, we have quite a few styles to customize
* the display of inputs, headings, and more. Also included are all the download
* buttons and actions.
*/
.bs-customizer .toggle {
float: right;
margin-top: 25px;
}
/* Headings and form contrls */
.bs-customizer label {
margin-top: 10px;
font-weight: 500;
color: #555;
}
.bs-customizer h2 {
padding-top: 30px;
margin-top: 0;
margin-bottom: 5px;
}
.bs-customizer h3 {
margin-bottom: 0;
}
.bs-customizer h4 {
margin-top: 15px;
margin-bottom: 0;
}
.bs-customizer .bs-callout h4 {
margin-top: 0; /* lame, but due to specificity we have to duplicate */
margin-bottom: 5px;
}
.bs-customizer input[type="text"] {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
background-color: #fafafa;
}
.bs-customizer .help-block {
margin-bottom: 5px;
font-size: 12px;
}
/* For the variables, use regular weight */
#less-section label {
font-weight: normal;
}
/* Downloads */
.bs-customize-download .btn-outline {
padding: 20px;
}
/* Error handling */
.bs-customizer-alert {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
padding: 15px 0;
color: #fff;
background-color: #d9534f;
border-bottom: 1px solid #b94441;
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
.bs-customizer-alert .close {
margin-top: -4px;
font-size: 24px;
}
.bs-customizer-alert p {
margin-bottom: 0;
}
.bs-customizer-alert .glyphicon {
margin-right: 5px;
}
.bs-customizer-alert pre {
margin: 10px 0 0;
color: #fff;
background-color: #a83c3a;
border-color: #973634;
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
box-shadow: inset 0 2px 4px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
}
.bs-dropzone {
position: relative;
padding: 20px;
margin-bottom: 20px;
color: #777;
text-align: center;
border: 2px dashed #eee;
border-radius: 4px;
}
.bs-dropzone h2 {
margin-top: 0;
margin-bottom: 5px;
}
.bs-dropzone hr {
width: 100px;
}
.bs-dropzone .lead {
margin-bottom: 10px;
font-weight: normal;
color: #333;
}
/*.bs-dropzone*/ #import-manual-trigger {
cursor: pointer;
}
.bs-dropzone p:last-child {
margin-bottom: 0;
}
/*
* Brand guidelines
*

File diff suppressed because one or more lines are too long

View File

@ -1198,120 +1198,6 @@ body {
}
}
//
// Customizer
//
.bs-customizer .toggle {
float: right;
margin-top: 1.5rem;
}
// Headings and form controls
.bs-customizer label {
margin-top: .5rem;
font-weight: 500;
color: #555;
}
.bs-customizer h2 {
padding-top: 2rem;
margin-top: 0;
margin-bottom: .25rem;
}
.bs-customizer h3 {
margin-bottom: 0;
}
.bs-customizer h4 {
margin-top: 1rem;
margin-bottom: 0;
}
.bs-customizer .bs-callout h4 {
margin-top: 0; // lame, but due to specificity we have to duplicate
margin-bottom: .25rem;
}
.bs-customizer input[type="text"] {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
background-color: #fafafa;
}
.bs-customizer .help-block {
margin-bottom: .25rem;
font-size: 75%;
}
// For the variables, use regular weight
#less-section label {
font-weight: normal;
}
// Downloads
.bs-customize-download .btn-outline {
padding: 20px;
}
// Error handling
.bs-customizer-alert {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
padding: 1rem 0;
color: #fff;
background-color: #d9534f;
border-bottom: 1px solid #b94441;
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
.bs-customizer-alert .close {
margin-top: -.25rem;
font-size: 1.5rem;
}
.bs-customizer-alert p {
margin-bottom: 0;
}
.bs-customizer-alert .glyphicon {
margin-right: .25rem;
}
.bs-customizer-alert pre {
margin: .5rem 0 0;
color: #fff;
background-color: #a83c3a;
border-color: #973634;
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
box-shadow: inset 0 2px 4px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
}
// Drag and drop
.bs-dropzone {
position: relative;
padding: 20px;
margin-bottom: 20px;
color: #777;
text-align: center;
border: 2px dashed #eee;
border-radius: 4px;
}
.bs-dropzone h2 {
margin-top: 0;
margin-bottom: 5px;
}
.bs-dropzone .lead {
margin-bottom: 10px;
font-weight: normal;
color: #333;
}
.bs-dropzone hr {
width: 100px;
}
#import-manual-trigger {
cursor: pointer;
}
.bs-dropzone p:last-child {
margin-bottom: 0;
}
//
// Brand guidelines
//

View File

@ -1,238 +0,0 @@
/*!
* Bootstrap Grunt task for parsing Less docstrings
* http://getbootstrap.com
* Copyright 2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
'use strict';
var Remarkable = require('remarkable');
function markdown2html(markdownString) {
var md = new Remarkable();
// the slice removes the <p>...</p> wrapper output by Markdown processor
return md.render(markdownString.trim()).slice(3, -5);
}
/*
Mini-language:
//== This is a normal heading, which starts a section. Sections group variables together.
//## Optional description for the heading
//=== This is a subheading.
//** Optional description for the following variable. You **can** use Markdown in descriptions to discuss `<html>` stuff.
@foo: #fff;
//-- 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 SUBSECTION_HEADING = /^[/]{2}={3}(.*)$/;
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.subsections = [];
}
Section.prototype.addSubSection = function (subsection) {
this.subsections.push(subsection);
};
function SubSection(heading) {
this.heading = heading.trim();
this.id = this.heading.replace(/\s+/g, '-').toLowerCase();
this.variables = [];
}
SubSection.prototype.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 = SUBSECTION_HEADING.exec(line);
if (match !== null) {
return new SubSection(match[1]);
}
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.parseSubSections(section);
return section;
};
Parser.prototype.parseSubSections = function (section) {
while (true) {
var subsection = this.parseSubSection();
if (subsection === null) {
if (section.subsections.length === 0) {
// Presume an implicit initial subsection
subsection = new SubSection('');
this.parseVars(subsection);
}
else {
break;
}
}
section.addSubSection(subsection);
}
if (section.subsections.length === 1 && !(section.subsections[0].heading) && section.subsections[0].variables.length === 0) {
// Ignore lone empty implicit subsection
section.subsections = [];
}
};
Parser.prototype.parseSubSection = function () {
var subsection = this._tokenizer.shift();
if (subsection instanceof SubSection) {
this.parseVars(subsection);
return subsection;
}
this._tokenizer.unshift(subsection);
return null;
};
Parser.prototype.parseVars = function (subsection) {
while (true) {
var variable = this.parseVar();
if (variable === null) {
return;
}
subsection.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;

View File

@ -1,46 +0,0 @@
/*!
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
* http://getbootstrap.com
* Copyright 2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/* global btoa: true */
'use strict';
var fs = require('fs');
var btoa = require('btoa');
var glob = require('glob');
function getFiles(type) {
var files = {};
var recursive = (type === 'less');
var globExpr = (recursive ? '/**/*' : '/*');
glob.sync(type + globExpr)
.filter(function (path) {
return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
})
.forEach(function (fullPath) {
var relativePath = fullPath.replace(/^[^/]+\//, '');
files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
});
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
}
module.exports = function generateRawFilesJs(grunt, banner) {
if (!banner) {
banner = '';
}
var dirs = ['js', 'less'];
var files = banner + dirs.map(getFiles).reduce(function (combined, file) {
return combined + file;
}, '');
var rawFilesJs = 'docs/assets/js/raw-files.min.js';
try {
fs.writeFileSync(rawFilesJs, files);
}
catch (err) {
grunt.fail.warn(err);
}
grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
};