/*! * Bootstrap Grunt task for Glyphicons data generation * https://getbootstrap.com/ * Copyright 2014-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */'use strict';varfs=require('fs');module.exports=functiongenerateGlyphiconsData(grunt){// Pass encoding, utf8, so `readFileSync` will return a string instead of a// buffervarglyphiconsFile=fs.readFileSync('less/glyphicons.less','utf8');varglyphiconsLines=glyphiconsFile.split('\n');// Use any line that starts with ".glyphicon-" and capture the class namevariconClassName=/^\.(glyphicon-[a-zA-Z0-9-]+)/;varglyphiconsData='# This file is generated via Grunt task. **Do not edit directly.**\n'+'# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';varglyphiconsYml='docs/_data/glyphicons.yml';for(vari=0,len=glyphiconsLines.length;i<len;i++){varmatch=glyphiconsLines[i].match(iconClassName);if(match!==null){glyphiconsData+='- '+match[1]+'\n';}}// Create the `_data` directory if it doesn't already existif(!fs.existsSync('docs/_data')){fs.mkdirSync('docs/_data');}try{fs.writeFileSync(glyphiconsYml,glyphiconsData);}catch(err){grunt.fail.warn(err);}grunt.log.writeln('File '+glyphiconsYml.cyan+' created.');};