Commit 44af8f43697064be1b0e8ab878c6829d6b26d02e

Ben Briggs 2014-05-26T11:18:37

Introduce gulp build process.

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"
+  }
 }