Add templates

This commit is contained in:
Mohsen Azimi
2015-01-29 10:58:55 -08:00
parent ecb8df4b95
commit a161942c03
2 changed files with 56 additions and 28 deletions

View File

@@ -1,13 +1,17 @@
'use strict';
var gulp = require('gulp');
var es = require('event-stream');
var gutil = require('gulp-util');
var clean = require('gulp-clean');
var coffee = require('gulp-coffee');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require("gulp-rename");
var rename = require('gulp-rename');
var less = require('gulp-less');
var handlebars = require('gulp-handlebars');
var wrap = require('gulp-wrap');
var declare = require('gulp-declare');
/*
* Clean ups ./dist folder
@@ -15,27 +19,48 @@ var less = require('gulp-less');
gulp.task('clean', function() {
return gulp
.src('./dist', {read: false})
.pipe(clean({force: true}));
.src('./dist/**/*', {read: false})
.pipe(clean({force: true}))
.on('error', gutil.log);
});
/*
* Processes Handlebars templates
*/
function templates() {
return gulp
.src(['./src/main/template/**/*'])
.pipe(handlebars())
.pipe(wrap('Handlebars.template(/*__DEFINING__*/<%= contents %>)'))
.pipe(declare({
namespace: 'Handlebars.templates',
noRedeclare: true, // Avoid duplicate declarations
}))
.on('error', gutil.log);
}
/*
* Processes CoffeeScript files
*/
function coffeescript () {
return gulp
.src(['./src/main/coffeescript/**/*.coffee'])
.pipe(coffee({bare: true}))
.on('error', gutil.log);
}
/*
* Build a distribution
*/
gulp.task('dist', function() {
return gulp
.src([
'./src/main/coffeescript/view/**/*.coffee',
'./src/main/coffeescript/SwaggerUi.coffee'
])
.pipe(coffee({bare: true}))
return es.merge(coffeescript(), templates())
.pipe(concat('swagger-ui.js'))
.pipe(gulp.dest('./dist'))
.pipe(uglify())
.pipe(rename({extname: '.min.js'}))
.pipe(gulp.dest('./dist'))
.on('error', gutil.log);
.on('error', gutil.log)
.pipe(gulp.dest('./dist'));
});
/*
@@ -43,17 +68,17 @@ gulp.task('dist', function() {
*/
gulp.task('less', function() {
gulp
.src('./src/main/less/screen.less')
return gulp
.src([
'./src/main/less/screen.less',
'./src/main/less/reset.less'
])
.pipe(less())
.pipe(gulp.dest('./src/main/html/css/screen.css'));
gulp
.src('./src/main/less/reset.less')
.pipe(less())
.pipe(gulp.dest('./src/main/html/css/reset.css'));
.on('error', gutil.log)
.pipe(gulp.dest('./src/main/html/css/'));
});
/*
* Copy lib and html folders
*/
@@ -62,12 +87,14 @@ gulp.task('copy', function() {
// copy JavaScript files inside lib folder
gulp
.src(['./lib/**/*.js'])
.pipe(gulp.dest('./dist/lib'));
.pipe(gulp.dest('./dist/lib'))
.on('error', gutil.log);
// copy all files inside html folder
gulp
.src(['./src/main/html/**/*'])
.pipe(gulp.dest('./dist'));
.pipe(gulp.dest('./dist'))
.on('error', gutil.log);
});

View File

@@ -1,10 +1,10 @@
{
"name": "swagger-ui",
"version": "2.1.0-alpha.8",
"version": "2.1.0-alpha.7",
"description": "Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API",
"scripts": {
"build": "PATH=$PATH:./node_modules/.bin cake dist",
"test": "./node_modules/coffee-script/bin/cake dist; ./node_modules/mocha/bin/mocha src/test/e2e/index.js"
"test": "./node_modules/gulp/bin/gulp.js; ./node_modules/mocha/bin/mocha src/test/e2e/index.js"
},
"repository": {
"type": "git",
@@ -18,27 +18,28 @@
"license": "Apache",
"readmeFilename": "README.md",
"dependencies": {
"coffee-script": "~1.6.3",
"swagger-client": "2.1.0-alpha.7",
"handlebars": "~1.0.10",
"less": "~1.4.2"
"swagger-client": "2.1.0-alpha.5"
},
"devDependencies": {
"chai": "^1.10.0",
"cors": "2.1.1",
"docco": "0.4.x",
"event-stream": "^3.2.1",
"express": "3.x",
"gulp": "^3.8.10",
"gulp-clean": "^0.3.1",
"gulp-coffee": "^2.2.0",
"gulp-concat": "^2.4.3",
"gulp-declare": "^0.3.0",
"gulp-handlebars": "^3.0.1",
"gulp-less": "^2.0.1",
"gulp-rename": "^1.2.0",
"gulp-uglify": "^1.1.0",
"gulp-util": "^3.0.2",
"gulp-wrap": "^0.10.1",
"http-server": "^0.7.4",
"less": "~1.4.2",
"mocha": "^2.1.0",
"ncp": "^1.0.1",
"selenium-webdriver": "^2.44.0"
}
}