diff --git a/.gitignore b/.gitignore index ebd9fb4c56..56b35bdc77 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -hide-*.js \ No newline at end of file +hide-*.js +node_modules \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000000..90c9f918e9 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,46 @@ +var gulp = require('gulp'), + rename = require('gulp-rename'), + uglify = require('gulp-uglify'), + header = require('gulp-header'), + concat = require('gulp-concat'), + + paths = { + components: ['components/**/*.js', '!components/**/*.min.js'], + main: [ + 'components/prism-core.js', + 'components/prism-markup.js', + 'components/prism-css.js', + 'components/prism-clike.js', + 'components/prism-javascript.js', + 'plugins/file-highlight/prism-file-highlight.js' + ], + plugins: ['plugins/**/*.js', '!plugins/**/*.min.js'] + }; + +gulp.task('components', function() { + return gulp.src(paths.components) + .pipe(uglify()) + .pipe(rename({ suffix: '.min' })) + .pipe(gulp.dest('components')); +}); + +gulp.task('build', function() { + return gulp.src(paths.main) + .pipe(header('\n/* **********************************************\n' + + ' Begin <%= file.relative %>\n' + + '********************************************** */\n\n')) + .pipe(concat('prism.js')) + .pipe(gulp.dest('./')); +}); + +gulp.task('plugins', function() { + return gulp.src(paths.plugins) + .pipe(uglify()) + .pipe(rename({ suffix: '.min' })) + .pipe(gulp.dest('plugins')); +}); + +gulp.task('watch', function() { + gulp.watch(paths.components, ['components', 'build']); + gulp.watch(paths.plugins, ['plugins', 'build']); +}); \ No newline at end of file diff --git a/package.json b/package.json index bc52175f6e..3c8c8d0ed9 100644 --- a/package.json +++ b/package.json @@ -16,5 +16,12 @@ ], "author": "Lea Verou", "license": "MIT", - "readmeFilename": "README.md" + "readmeFilename": "README.md", + "devDependencies": { + "gulp": "^3.6.2", + "gulp-concat": "^2.2.0", + "gulp-header": "^1.0.2", + "gulp-rename": "^1.2.0", + "gulp-uglify": "^0.3.0" + } }