mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-21 18:54:30 +01:00
parent
9afead3fb0
commit
ba4206b644
@ -178,7 +178,7 @@ license your work under the terms of the [MIT License](LICENSE.md).
|
|||||||
|
|
||||||
### JS
|
### JS
|
||||||
|
|
||||||
- No semicolons
|
- No semicolons (in client-side JS)
|
||||||
- 2 spaces (no tabs)
|
- 2 spaces (no tabs)
|
||||||
- strict mode
|
- strict mode
|
||||||
- "Attractive"
|
- "Attractive"
|
||||||
|
@ -45,7 +45,7 @@ module.exports = function (grunt) {
|
|||||||
},
|
},
|
||||||
grunt: {
|
grunt: {
|
||||||
options: {
|
options: {
|
||||||
node: true
|
jshintrc: 'grunt/.jshintrc'
|
||||||
},
|
},
|
||||||
src: ['Gruntfile.js', 'grunt/*.js']
|
src: ['Gruntfile.js', 'grunt/*.js']
|
||||||
},
|
},
|
||||||
|
16
grunt/.jshintrc
Normal file
16
grunt/.jshintrc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"asi": false,
|
||||||
|
"camelcase": true,
|
||||||
|
"curly": true,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"immed": true,
|
||||||
|
"indent": 2,
|
||||||
|
"newcap": true,
|
||||||
|
"noarg": true,
|
||||||
|
"nonbsp": true,
|
||||||
|
"quotmark": "single",
|
||||||
|
"undef": true,
|
||||||
|
"strict": true,
|
||||||
|
"trailing": true,
|
||||||
|
"node" : true
|
||||||
|
}
|
@ -4,29 +4,31 @@
|
|||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 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)
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
var fs = require('fs')
|
var fs = require('fs');
|
||||||
|
|
||||||
module.exports = function generateGlyphiconsData() {
|
module.exports = function generateGlyphiconsData() {
|
||||||
// Pass encoding, utf8, so `readFileSync` will return a string instead of a
|
// Pass encoding, utf8, so `readFileSync` will return a string instead of a
|
||||||
// buffer
|
// buffer
|
||||||
var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8')
|
var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8');
|
||||||
var glpyhiconsLines = glyphiconsFile.split('\n')
|
var glpyhiconsLines = glyphiconsFile.split('\n');
|
||||||
|
|
||||||
// Use any line that starts with ".glyphicon-" and capture the class name
|
// Use any line that starts with ".glyphicon-" and capture the class name
|
||||||
var iconClassName = /^\.(glyphicon-[^\s]+)/
|
var iconClassName = /^\.(glyphicon-[^\s]+)/;
|
||||||
var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.** \n' +
|
var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.** \n' +
|
||||||
'# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
|
'# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
|
||||||
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
||||||
var match = glpyhiconsLines[i].match(iconClassName)
|
var match = glpyhiconsLines[i].match(iconClassName);
|
||||||
|
|
||||||
if (match != null) {
|
if (match !== null) {
|
||||||
glyphiconsData += '- ' + match[1] + '\n'
|
glyphiconsData += '- ' + match[1] + '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the `_data` directory if it doesn't already exist
|
// Create the `_data` directory if it doesn't already exist
|
||||||
if (!fs.existsSync('docs/_data')) fs.mkdirSync('docs/_data')
|
if (!fs.existsSync('docs/_data')) {
|
||||||
|
fs.mkdirSync('docs/_data');
|
||||||
|
}
|
||||||
|
|
||||||
fs.writeFileSync('docs/_data/glyphicons.yml', glyphiconsData)
|
fs.writeFileSync('docs/_data/glyphicons.yml', glyphiconsData);
|
||||||
}
|
};
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 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)
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var markdown = require('markdown').markdown;
|
var markdown = require('markdown').markdown;
|
||||||
|
|
||||||
|
@ -1,32 +1,31 @@
|
|||||||
/* global btoa: true */
|
/* global btoa: true */
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
|
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 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)
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
var btoa = require('btoa')
|
var btoa = require('btoa');
|
||||||
var fs = require('fs')
|
var fs = require('fs');
|
||||||
|
|
||||||
function getFiles(type) {
|
function getFiles(type) {
|
||||||
var files = {}
|
var files = {};
|
||||||
fs.readdirSync(type)
|
fs.readdirSync(type)
|
||||||
.filter(function (path) {
|
.filter(function (path) {
|
||||||
return type == 'fonts' ? true : new RegExp('\\.' + type + '$').test(path)
|
return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
|
||||||
})
|
})
|
||||||
.forEach(function (path) {
|
.forEach(function (path) {
|
||||||
var fullPath = type + '/' + path
|
var fullPath = type + '/' + path;
|
||||||
return files[path] = (type == 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'))
|
files[path] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
|
||||||
})
|
});
|
||||||
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'
|
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = function generateRawFilesJs(banner) {
|
module.exports = function generateRawFilesJs(banner) {
|
||||||
if (!banner) {
|
if (!banner) {
|
||||||
banner = ''
|
banner = '';
|
||||||
}
|
}
|
||||||
var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts')
|
var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts');
|
||||||
fs.writeFileSync('docs/assets/js/raw-files.min.js', files)
|
fs.writeFileSync('docs/assets/js/raw-files.min.js', files);
|
||||||
}
|
};
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache.
|
This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache.
|
||||||
This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
|
This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
var canonicallyJsonStringify = require('canonical-json');
|
var canonicallyJsonStringify = require('canonical-json');
|
||||||
var NON_CANONICAL_FILE = 'npm-shrinkwrap.json';
|
var NON_CANONICAL_FILE = 'npm-shrinkwrap.json';
|
||||||
var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json';
|
var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user