You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
10 years ago
|
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']);
|
||
|
});
|
||
|
|
||
|
gulp.task('default', ['components', 'plugins', 'build']);
|