mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
extract glyphicons.yml generator out of Gruntfile into separate module
This commit is contained in:
parent
d1c29af591
commit
d7a128c636
2 changed files with 29 additions and 23 deletions
25
Gruntfile.js
25
Gruntfile.js
|
@ -11,6 +11,7 @@ module.exports = function (grunt) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var fs = require('fs')
|
var fs = require('fs')
|
||||||
|
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')
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
|
@ -335,29 +336,7 @@ module.exports = function (grunt) {
|
||||||
// This can be overzealous, so its changes should always be manually reviewed!
|
// This can be overzealous, so its changes should always be manually reviewed!
|
||||||
grunt.registerTask('change-version-number', ['sed']);
|
grunt.registerTask('change-version-number', ['sed']);
|
||||||
|
|
||||||
grunt.registerTask('build-glyphicons-data', function () {
|
grunt.registerTask('build-glyphicons-data', generateGlyphiconsData);
|
||||||
// Pass encoding, utf8, so `readFileSync` will return a string instead of a
|
|
||||||
// buffer
|
|
||||||
var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8')
|
|
||||||
var glpyhiconsLines = glyphiconsFile.split('\n')
|
|
||||||
|
|
||||||
// Use any line that starts with ".glyphicon-" and capture the class name
|
|
||||||
var iconClassName = /^\.(glyphicon-[^\s]+)/
|
|
||||||
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';
|
|
||||||
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
|
||||||
var match = glpyhiconsLines[i].match(iconClassName)
|
|
||||||
|
|
||||||
if (match != null) {
|
|
||||||
glyphiconsData += '- ' + match[1] + '\n'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the `_data` directory if it doesn't already exist
|
|
||||||
if (!fs.existsSync('docs/_data')) fs.mkdirSync('docs/_data')
|
|
||||||
|
|
||||||
fs.writeFileSync('docs/_data/glyphicons.yml', glyphiconsData)
|
|
||||||
});
|
|
||||||
|
|
||||||
// task for building customizer
|
// task for building customizer
|
||||||
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', generateRawFilesJs);
|
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', generateRawFilesJs);
|
||||||
|
|
27
docs/grunt/bs-glyphicons-data-generator.js
Normal file
27
docs/grunt/bs-glyphicons-data-generator.js
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
/* jshint node: true */
|
||||||
|
|
||||||
|
var fs = require('fs')
|
||||||
|
|
||||||
|
module.exports = function generateGlyphiconsData() {
|
||||||
|
// Pass encoding, utf8, so `readFileSync` will return a string instead of a
|
||||||
|
// buffer
|
||||||
|
var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8')
|
||||||
|
var glpyhiconsLines = glyphiconsFile.split('\n')
|
||||||
|
|
||||||
|
// Use any line that starts with ".glyphicon-" and capture the class name
|
||||||
|
var iconClassName = /^\.(glyphicon-[^\s]+)/
|
||||||
|
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';
|
||||||
|
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
||||||
|
var match = glpyhiconsLines[i].match(iconClassName)
|
||||||
|
|
||||||
|
if (match != null) {
|
||||||
|
glyphiconsData += '- ' + match[1] + '\n'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create the `_data` directory if it doesn't already exist
|
||||||
|
if (!fs.existsSync('docs/_data')) fs.mkdirSync('docs/_data')
|
||||||
|
|
||||||
|
fs.writeFileSync('docs/_data/glyphicons.yml', glyphiconsData)
|
||||||
|
}
|
Loading…
Reference in a new issue