Introduce gulp build process.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
diff --git a/.gitignore b/.gitignore
index ebd9fb4..56b35bd 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 0000000..90c9f91
--- /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 bc52175..3c8c8d0 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"
+ }
}