aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChris Rebert <[email protected]>2014-01-08 11:01:03 -0800
committerChris Rebert <[email protected]>2014-01-08 11:01:03 -0800
commit1736bcb05cb2c0b96825099fbb05b93ba4f327e5 (patch)
tree4ecb1cded117256693ab34b77a20727b8c0ef265 /docs
parent24c16d99046758e00087e74e854cc466bef39bc7 (diff)
parentd7a128c63628cb886dfa233c2b4bc2648b831c53 (diff)
downloadbootstrap-1736bcb05cb2c0b96825099fbb05b93ba4f327e5.tar.xz
bootstrap-1736bcb05cb2c0b96825099fbb05b93ba4f327e5.zip
Merge pull request #12150 from twbs/extract-from-gruntfile
cleanup Gruntfile by extracting executable code
Diffstat (limited to 'docs')
-rw-r--r--docs/grunt/bs-glyphicons-data-generator.js27
-rw-r--r--docs/grunt/bs-raw-files-generator.js22
2 files changed, 49 insertions, 0 deletions
diff --git a/docs/grunt/bs-glyphicons-data-generator.js b/docs/grunt/bs-glyphicons-data-generator.js
new file mode 100644
index 000000000..2ecd54393
--- /dev/null
+++ b/docs/grunt/bs-glyphicons-data-generator.js
@@ -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)
+}
diff --git a/docs/grunt/bs-raw-files-generator.js b/docs/grunt/bs-raw-files-generator.js
new file mode 100644
index 000000000..b38563a06
--- /dev/null
+++ b/docs/grunt/bs-raw-files-generator.js
@@ -0,0 +1,22 @@
+/* jshint node: true */
+
+var btoa = require('btoa')
+var fs = require('fs')
+
+function getFiles(type) {
+ var files = {}
+ fs.readdirSync(type)
+ .filter(function (path) {
+ return type == 'fonts' ? true : new RegExp('\\.' + type + '$').test(path)
+ })
+ .forEach(function (path) {
+ var fullPath = type + '/' + path
+ return files[path] = (type == 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'))
+ })
+ return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'
+}
+
+module.exports = function generateRawFilesJs() {
+ var files = getFiles('js') + getFiles('less') + getFiles('fonts')
+ fs.writeFileSync('docs/assets/js/raw-files.js', files)
+}