UNPKG

syntax-highlighting

Version:

Syntax Highlighting Colorschemes for many applications

246 lines (221 loc) 11.9 kB
module.exports = function(grunt) { require('time-grunt')(grunt); var devmode = grunt.option('dev'); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), sass: { options: { sourceMap: true }, dist: { files: { 'assets/css/unprefixed/style-redesign-v1.css': 'assets/sass/style-redesign-v1.scss', 'assets/css/unprefixed/atelier-schemes/forest.css': 'assets/sass/atelier-schemes/forest.scss', 'assets/css/unprefixed/atelier-schemes/plateau.css': 'assets/sass/atelier-schemes/plateau.scss', 'assets/css/unprefixed/atelier-schemes/heath.css': 'assets/sass/atelier-schemes/heath.scss', 'assets/css/unprefixed/atelier-schemes/cave.css': 'assets/sass/atelier-schemes/cave.scss', 'assets/css/unprefixed/atelier-schemes/sulphurpool.css': 'assets/sass/atelier-schemes/sulphurpool.scss', 'assets/css/unprefixed/atelier-schemes/lakeside.css': 'assets/sass/atelier-schemes/lakeside.scss', 'assets/css/unprefixed/atelier-schemes/savanna.css': 'assets/sass/atelier-schemes/savanna.scss', 'assets/css/unprefixed/atelier-schemes/seaside.css': 'assets/sass/atelier-schemes/seaside.scss', 'assets/css/unprefixed/atelier-schemes/estuary.css': 'assets/sass/atelier-schemes/estuary.scss', 'assets/css/unprefixed/atelier-schemes/dune.css': 'assets/sass/atelier-schemes/dune.scss' } } }, postcss: { options: { map: { inline: false, // save all sourcemaps as separate files... // annotation: 'assets/css/maps/' // ...to the specified directory }, processors: [ require('autoprefixer')({browsers: 'last 2 versions'}), ] }, dist: { expand: true, flatten: true, files: { 'assets/css/style-redesign-v1-prefixed.css': 'assets/css/unprefixed/style-redesign-v1.css', 'assets/css/prefixed/atelier-schemes/forest.css': 'assets/css/unprefixed/atelier-schemes/forest.css', 'assets/css/prefixed/atelier-schemes/plateau.css': 'assets/css/unprefixed/atelier-schemes/plateau.css', 'assets/css/prefixed/atelier-schemes/heath.css': 'assets/css/unprefixed/atelier-schemes/heath.css', 'assets/css/prefixed/atelier-schemes/cave.css': 'assets/css/unprefixed/atelier-schemes/cave.css', 'assets/css/prefixed/atelier-schemes/sulphurpool.css': 'assets/css/unprefixed/atelier-schemes/sulphurpool.css', 'assets/css/prefixed/atelier-schemes/lakeside.css': 'assets/css/unprefixed/atelier-schemes/lakeside.css', 'assets/css/prefixed/atelier-schemes/savanna.css': 'assets/css/unprefixed/atelier-schemes/savanna.css', 'assets/css/prefixed/atelier-schemes/seaside.css': 'assets/css/unprefixed/atelier-schemes/seaside.css', 'assets/css/prefixed/atelier-schemes/estuary.css': 'assets/css/unprefixed/atelier-schemes/estuary.css', 'assets/css/prefixed/atelier-schemes/dune.css': 'assets/css/unprefixed/atelier-schemes/dune.css' } } }, criticalcss: { custom: { options: { url: "http://localhost/~bram/syntax-highlighting/src/index/index.html", width: 1200, height: 900, outputfile: "assets/css/critical.css", filename: "assets/css/style-redesign-v1.css", // Using path.resolve( path.join( ... ) ) is a good idea here buffer: 800*1024, ignoreConsole: false } } }, cssmin: { dist: { files: { 'assets/css/style-redesign-v1.css': 'assets/css/style-redesign-v1-prefixed.css', 'assets/css/critical.min.css': 'assets/css/critical.css', 'assets/css/prefixed/atelier-schemes/forest.min.css': 'assets/css/prefixed/atelier-schemes/forest.css', 'assets/css/prefixed/atelier-schemes/plateau.min.css': 'assets/css/prefixed/atelier-schemes/plateau.css', 'assets/css/prefixed/atelier-schemes/heath.min.css': 'assets/css/prefixed/atelier-schemes/heath.css', 'assets/css/prefixed/atelier-schemes/cave.min.css': 'assets/css/prefixed/atelier-schemes/cave.css', 'assets/css/prefixed/atelier-schemes/sulphurpool.min.css': 'assets/css/prefixed/atelier-schemes/sulphurpool.css', 'assets/css/prefixed/atelier-schemes/lakeside.min.css': 'assets/css/prefixed/atelier-schemes/lakeside.css', 'assets/css/prefixed/atelier-schemes/savanna.min.css': 'assets/css/prefixed/atelier-schemes/savanna.css', 'assets/css/prefixed/atelier-schemes/seaside.min.css': 'assets/css/prefixed/atelier-schemes/seaside.css', 'assets/css/prefixed/atelier-schemes/estuary.min.css': 'assets/css/prefixed/atelier-schemes/estuary.css', 'assets/css/prefixed/atelier-schemes/dune.min.css': 'assets/css/prefixed/atelier-schemes/dune.css' } } }, copy: { main: { // src: 'dist/static/prefixed/home.min.css', // dest: 'src/templates/partials/homeheadstyles.hbs', files: { 'src/inc/concat-min-js.inc' : 'assets/js/concat.min.js', 'src/inc/critical-min-css.inc' : 'assets/css/critical.min.css', 'src/inc/forest-css.inc' : 'assets/css/prefixed/atelier-schemes/forest.min.css', 'src/inc/plateau-css.inc' : 'assets/css/prefixed/atelier-schemes/plateau.min.css', 'src/inc/heath-css.inc' : 'assets/css/prefixed/atelier-schemes/heath.min.css', 'src/inc/cave-css.inc' : 'assets/css/prefixed/atelier-schemes/cave.min.css', 'src/inc/sulphurpool-css.inc' : 'assets/css/prefixed/atelier-schemes/sulphurpool.min.css', 'src/inc/lakeside-css.inc' : 'assets/css/prefixed/atelier-schemes/lakeside.min.css', 'src/inc/savanna-css.inc' : 'assets/css/prefixed/atelier-schemes/savanna.min.css', 'src/inc/seaside-css.inc' : 'assets/css/prefixed/atelier-schemes/seaside.min.css', 'src/inc/estuary-css.inc' : 'assets/css/prefixed/atelier-schemes/estuary.min.css', 'src/inc/dune-css.inc' : 'assets/css/prefixed/atelier-schemes/dune.min.css' }, flatten: true, filter: 'isFile', }, }, htmlmin: { // Task dist: { // Target options: { // Target options removeComments: true, collapseWhitespace: true }, files: { // Dictionary of files 'index.html': 'dist/index-max.html', // 'destination': 'source' 'atelier-schemes/index.html': 'dist/atelier-schemes/index-max.html', 'atelier-schemes/cave/index.html': 'dist/atelier-schemes/cave/index-max.html', 'atelier-schemes/demo/changes-03-2015.html': 'dist/atelier-schemes/demo/changes-03-2015-max.html', 'atelier-schemes/dune/index.html': 'dist/atelier-schemes/dune/index-max.html', 'atelier-schemes/estuary/index.html': 'dist/atelier-schemes/estuary/index-max.html', 'atelier-schemes/forest/index.html': 'dist/atelier-schemes/forest/index-max.html', 'atelier-schemes/heath/index.html': 'dist/atelier-schemes/heath/index-max.html', 'atelier-schemes/lakeside/index.html': 'dist/atelier-schemes/lakeside/index-max.html', 'atelier-schemes/plateau/index.html': 'dist/atelier-schemes/plateau/index-max.html', 'atelier-schemes/savanna/index.html': 'dist/atelier-schemes/savanna/index-max.html', 'atelier-schemes/seaside/index.html': 'dist/atelier-schemes/seaside/index-max.html', 'atelier-schemes/sulphurpool/index.html': 'dist/atelier-schemes/sulphurpool/index-max.html', 'base2tone/index.html': 'dist/base2tone/index-max.html', 'chrome-devtools/index.html': 'dist/chrome-devtools/index-max.html', 'duotones/index.html': 'dist/duotones/index-max.html', 'lab/index.html': 'dist/lab/index-max.html', 'prism/index.html': 'dist/prism/index-max.html', } } }, concat: { dist: { files: { 'assets/js/concat.js' : ['assets/js/fontfaceobserver.js','assets/js/load-font.js','assets/js/loadCSS.js','assets/js/cssrelpreload.js'] } } }, uglify: { options: { preserveComments: 'some' }, dist: { files: { 'assets/js/concat.min.js' : 'assets/js/concat.js' } } }, // hashres: { // options: { // fileNameFormat: '${name}.${ext}?${hash}', // renameFiles: false // }, // dist: { // src: ['dist/static/main.min.js','dist/static/prefixed/style.min.css','dist/static/prefixed/home.min.css'], // dest: 'dist#<{(||)}>#*.html' // } // }, watch: { options: { livereload: true, }, scss: { files: ['assets/sass/**/*.scss'], // tasks: ['scss','autoprefixer','cssmin','copy','hashres'], tasks: ['scss','postcss','criticalcss','cssmin','copy'], options: { // https://github.com/gruntjs/grunt-contrib-watch/issues/415 // spawn: false } }, // js: { // files: ['assets/js#<{(||)}>#*.js'], // tasks: ['concat','uglify'], // options: { // spawn: false // } // }, // html: { // files: ['content#<{(||)}>#*','src/templates#<{(||)}>#*'], // tasks: [], // options: { // spawn: false // } // }, // https://github.com/gruntjs/grunt-contrib-watch#optionslivereload // livereload: { // Here we watch the files the sass task will compile to // These files are sent to the live reload server after sass compiles to them // options: { // livereload: true, // spawn: false, // }, // files: ['dist/static#<{(||)}>#*.css'], // }, }, }); // grunt.registerTask('build', ['concat', 'uglify', 'sass', 'autoprefixer', 'cssmin', 'copy', 'htmlmin', 'hashres']); grunt.registerTask('build', ['concat', 'uglify', 'sass', 'postcss:dist', 'cssmin','copy','criticalcss','htmlmin']); // grunt.registerTask('build', ['sass', 'autoprefixer', 'cssmin']); // grunt.registerTask('scss', ['sass', 'autoprefixer', 'cssmin', 'hashres']); grunt.registerTask('sass', ['sass', 'postcss:dist', 'cssmin']); grunt.registerTask('js', ['uglify', 'concat']); // grunt.registerTask('html', ['hashres']); grunt.registerTask('default', ['build', 'watch']); grunt.registerTask('dev', ['watch']); // grunt.registerTask('default', ['build', 'connect', 'watch', 'assemble:component']); // grunt.registerTask('default', ['assemble:component']); // grunt.loadNpmTasks('grunt-hashres', 'grunt-contrib-copy', 'grunt-contrib-htmlmin', 'grunt-contrib-sass','grunt-contrib-watch','matchdep','grunt-autoprefixer'); grunt.loadNpmTasks('grunt-sass','grunt-contrib-watch','matchdep','grunt-postcss','grunt-contrib-copy','grunt-criticalcss'); require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); // Default tasks to be run. }; // if (devmode) { // grunt.task.registerTask('hashres', function(){ console.log('Skipping hashres task because of --dev flag'); }); // grunt.task.registerTask('uncss', function(){ console.log('Skipping uncss task because of --dev flag'); }); // } // };