From ab097b4ff62891573f56595e5c96075c43acbeeb Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 11 Jun 2014 10:40:23 +0200 Subject: [PATCH] Minor reorganization on layout. --- app/{ => partials}/backlog.jade | 0 app/{ => partials}/layout.jade | 2 +- app/{ => partials}/taskboard.jade | 0 .../views/components/addnewus.jade | 0 .../views/components/filter.jade | 0 .../views/components/large-summary.jade | 0 .../views/components/mainTitle.jade | 0 .../views/components/summary.jade | 0 app/{ => partials}/views/components/tag.jade | 0 .../views/components/taskboard-task.jade | 0 .../views/modules/backlog-table.jade | 0 .../views/modules/burndown.jade | 0 app/{ => partials}/views/modules/filters.jade | 0 .../views/modules/lightbox_add-bulk.jade | 0 .../views/modules/lightbox_add-new-us.jade | 0 .../views/modules/lightbox_add-sprint.jade | 0 app/{ => partials}/views/modules/nav.jade | 2 +- app/{ => partials}/views/modules/sprints.jade | 0 .../views/modules/taskboard-table.jade | 0 gulpfile.js | 232 +++++++++++------- package.json | 13 + 21 files changed, 161 insertions(+), 88 deletions(-) rename app/{ => partials}/backlog.jade (100%) rename app/{ => partials}/layout.jade (88%) rename app/{ => partials}/taskboard.jade (100%) rename app/{ => partials}/views/components/addnewus.jade (100%) rename app/{ => partials}/views/components/filter.jade (100%) rename app/{ => partials}/views/components/large-summary.jade (100%) rename app/{ => partials}/views/components/mainTitle.jade (100%) rename app/{ => partials}/views/components/summary.jade (100%) rename app/{ => partials}/views/components/tag.jade (100%) rename app/{ => partials}/views/components/taskboard-task.jade (100%) rename app/{ => partials}/views/modules/backlog-table.jade (100%) rename app/{ => partials}/views/modules/burndown.jade (100%) rename app/{ => partials}/views/modules/filters.jade (100%) rename app/{ => partials}/views/modules/lightbox_add-bulk.jade (100%) rename app/{ => partials}/views/modules/lightbox_add-new-us.jade (100%) rename app/{ => partials}/views/modules/lightbox_add-sprint.jade (100%) rename app/{ => partials}/views/modules/nav.jade (96%) rename app/{ => partials}/views/modules/sprints.jade (100%) rename app/{ => partials}/views/modules/taskboard-table.jade (100%) diff --git a/app/backlog.jade b/app/partials/backlog.jade similarity index 100% rename from app/backlog.jade rename to app/partials/backlog.jade diff --git a/app/layout.jade b/app/partials/layout.jade similarity index 88% rename from app/layout.jade rename to app/partials/layout.jade index 20c2d65a..00a9f3e9 100644 --- a/app/layout.jade +++ b/app/partials/layout.jade @@ -6,7 +6,7 @@ html(lang="en") meta(name="description", content="Taiga Landing page") meta(name="keywords", content="Agile, Taiga, Management, Github") meta(name="viewport", content="width=device-width, user-scalable=no") - link(rel="stylesheet", href="styles/main.css") + link(rel="stylesheet", href="/styles/main.css") block head body include views/modules/nav diff --git a/app/taskboard.jade b/app/partials/taskboard.jade similarity index 100% rename from app/taskboard.jade rename to app/partials/taskboard.jade diff --git a/app/views/components/addnewus.jade b/app/partials/views/components/addnewus.jade similarity index 100% rename from app/views/components/addnewus.jade rename to app/partials/views/components/addnewus.jade diff --git a/app/views/components/filter.jade b/app/partials/views/components/filter.jade similarity index 100% rename from app/views/components/filter.jade rename to app/partials/views/components/filter.jade diff --git a/app/views/components/large-summary.jade b/app/partials/views/components/large-summary.jade similarity index 100% rename from app/views/components/large-summary.jade rename to app/partials/views/components/large-summary.jade diff --git a/app/views/components/mainTitle.jade b/app/partials/views/components/mainTitle.jade similarity index 100% rename from app/views/components/mainTitle.jade rename to app/partials/views/components/mainTitle.jade diff --git a/app/views/components/summary.jade b/app/partials/views/components/summary.jade similarity index 100% rename from app/views/components/summary.jade rename to app/partials/views/components/summary.jade diff --git a/app/views/components/tag.jade b/app/partials/views/components/tag.jade similarity index 100% rename from app/views/components/tag.jade rename to app/partials/views/components/tag.jade diff --git a/app/views/components/taskboard-task.jade b/app/partials/views/components/taskboard-task.jade similarity index 100% rename from app/views/components/taskboard-task.jade rename to app/partials/views/components/taskboard-task.jade diff --git a/app/views/modules/backlog-table.jade b/app/partials/views/modules/backlog-table.jade similarity index 100% rename from app/views/modules/backlog-table.jade rename to app/partials/views/modules/backlog-table.jade diff --git a/app/views/modules/burndown.jade b/app/partials/views/modules/burndown.jade similarity index 100% rename from app/views/modules/burndown.jade rename to app/partials/views/modules/burndown.jade diff --git a/app/views/modules/filters.jade b/app/partials/views/modules/filters.jade similarity index 100% rename from app/views/modules/filters.jade rename to app/partials/views/modules/filters.jade diff --git a/app/views/modules/lightbox_add-bulk.jade b/app/partials/views/modules/lightbox_add-bulk.jade similarity index 100% rename from app/views/modules/lightbox_add-bulk.jade rename to app/partials/views/modules/lightbox_add-bulk.jade diff --git a/app/views/modules/lightbox_add-new-us.jade b/app/partials/views/modules/lightbox_add-new-us.jade similarity index 100% rename from app/views/modules/lightbox_add-new-us.jade rename to app/partials/views/modules/lightbox_add-new-us.jade diff --git a/app/views/modules/lightbox_add-sprint.jade b/app/partials/views/modules/lightbox_add-sprint.jade similarity index 100% rename from app/views/modules/lightbox_add-sprint.jade rename to app/partials/views/modules/lightbox_add-sprint.jade diff --git a/app/views/modules/nav.jade b/app/partials/views/modules/nav.jade similarity index 96% rename from app/views/modules/nav.jade rename to app/partials/views/modules/nav.jade index 1d90245f..edb2b024 100644 --- a/app/views/modules/nav.jade +++ b/app/partials/views/modules/nav.jade @@ -1,7 +1,7 @@ nav.menu h1.logo a(href="", title="Home") - img(src="images/logo.png", alt="Taiga") + img(src="/images/logo.png", alt="Taiga") ul.main-nav li a(href="", title="Search") diff --git a/app/views/modules/sprints.jade b/app/partials/views/modules/sprints.jade similarity index 100% rename from app/views/modules/sprints.jade rename to app/partials/views/modules/sprints.jade diff --git a/app/views/modules/taskboard-table.jade b/app/partials/views/modules/taskboard-table.jade similarity index 100% rename from app/views/modules/taskboard-table.jade rename to app/partials/views/modules/taskboard-table.jade diff --git a/gulpfile.js b/gulpfile.js index 4bb24597..5cec1ed4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,96 +1,135 @@ -var gulp = require('gulp'), - jade = require('gulp-jade'), - newer = require('gulp-newer'), - minifyHTML = require('gulp-minify-html'), - sass = require('gulp-ruby-sass'), - csslint = require('gulp-csslint'), - minifyCSS = require('gulp-minify-css'), - imagemin = require('gulp-imagemin'), - watch = require('gulp-watch'), - size = require('gulp-filesize'), +var gulp = require("gulp"), + jade = require("gulp-jade"), + + coffee = require("gulp-coffee"), + concat = require("gulp-concat"), + uglify = require("gulp-uglify"), + plumber = require("gulp-plumber"), + wrap = require("gulp-wrap"), + rename = require("gulp-rename"), + + newer = require("gulp-newer"), + minifyHTML = require("gulp-minify-html"), + sass = require("gulp-ruby-sass"), + csslint = require("gulp-csslint"), + minifyCSS = require("gulp-minify-css"), + imagemin = require("gulp-imagemin"), + watch = require("gulp-watch"), + size = require("gulp-filesize"), notify = require("gulp-notify"), - connect = require('gulp-connect'), - scsslint = require('gulp-scss-lint'), - newer = require('gulp-newer'), - plumber = require('gulp-plumber'), - cache = require('gulp-cached'); + connect = require("gulp-connect"), + scsslint = require("gulp-scss-lint"), + newer = require("gulp-newer") + cache = require("gulp-cached"); var paths = { - app: 'app', - dist: 'dist', - html: 'app/*.html', - jade: 'app/**/*.jade', - appStyles: 'app/styles/**/*.scss', - distStyles: 'dist/styles', - sassMain: 'app/styles/main.scss', - css: 'dist/styles/**/*.css', - images: 'app/images/**/*' + app: "app", + dist: "dist", + html: "app/*.html", + jade: "app/partials/**/*.jade", + appStyles: "app/styles/**/*.scss", + distStyles: "dist/styles", + sassMain: "app/styles/main.scss", + css: "dist/styles/**/*.css", + images: "app/images/**/*" }; -gulp.task('jade', function() { +//////////////////////////////////////////////////////////////////////////// +// Layout/CSS Related tasks +//////////////////////////////////////////////////////////////////////////// + +gulp.task("jade", function() { return gulp.src(paths.jade) - .pipe(plumber()) - .pipe(jade({ - pretty: true - })) - .pipe(gulp.dest(paths.dist)) - .pipe(size()); + .pipe(plumber()) + .pipe(jade({pretty: true})) + .pipe(gulp.dest(paths.dist + "/partials")); }); -//Sass lint -gulp.task('scss-lint', function() { - gulp.src([paths.appStyles, '!/**/bourbon/**/*.scss']) - .pipe(cache('scsslint')) - .pipe(scsslint({config: 'scsslint.yml'})) +// Sass lint +gulp.task("scss-lint", function() { + gulp.src([paths.appStyles, "!/**/bourbon/**/*.scss"]) + .pipe(cache("scsslint")) + .pipe(scsslint({config: "scsslint.yml"})) }); -//Sass Files -gulp.task('sass', function () { +// Sass Files +gulp.task("sass", function () { return gulp.src(paths.sassMain) - .pipe(sass().on('error', function(err) { - console.log(err); - })) - .pipe(gulp.dest(paths.distStyles)) - .pipe(size()); + .pipe(plumber()) + .pipe(sass()) + .pipe(gulp.dest(paths.distStyles)); }); -//CSS Linting and report -gulp.task('css', ['sass'], function() { - gulp.src([paths.css, '!'+paths.dist+'/styles/vendor/**/*.css']) - .pipe(csslint('csslintrc.json')) - .pipe(csslint.reporter()); +// CSS Linting and report +gulp.task("css", ["sass"], function() { + gulp.src([paths.css, "!"+paths.dist+"/styles/vendor/**/*.css"]) + .pipe(csslint("csslintrc.json")) + .pipe(csslint.reporter()); }); -//Minify CSS -gulp.task('minifyCSS', ['css', 'sass'], function () { - gulp.src('dist/styles/main.css') +// Minify CSS +gulp.task("minifyCSS", ["css", "sass"], function () { + gulp.src("dist/styles/main.css") .pipe(minifyCSS()) .pipe(gulp.dest(paths.distStyles)) .pipe(size()); }); -gulp.task('imagemin', function () { +gulp.task("imagemin", function () { return gulp.src(paths.images) - .pipe(imagemin({ - progressive: true - }).on('error', function(err) { - console.log(err); - })) - .pipe(gulp.dest(paths.dist+'/images')); + .pipe(plumber()) + .pipe(imagemin({progressive: true})) + .pipe(gulp.dest(paths.dist+"/images")); }); -//Copy Files -gulp.task('copy', ['sass', 'css'], function() { - //Copy vendor styles - gulp.src(paths.app+'/styles/vendor/**/*.css') - .pipe(gulp.dest(paths.dist+'/styles/vendor/')); - //Copy fonts - gulp.src(paths.app+'/fonts/*') - .pipe(gulp.dest(paths.dist+'/fonts/')); +//////////////////////////////////////////////////////////////////////////// +// JS Related tasks +//////////////////////////////////////////////////////////////////////////// + +gulp.task("coffee", function() { + return gulp.src(coffeeSources) + .pipe(plumber()) + .pipe(coffee()) + .pipe(concat("app.js")) + .pipe(gulp.dest("app/dist/js/")); }); -gulp.task('connect', function() { +gulp.task("jslibs", function() { + return gulp.src(externalSources) + .pipe(plumber()) + .pipe(concat("libs.js")) + .pipe(gulp.dest("app/dist/js/")); +}); + +gulp.task("locales", function() { + gulp.src("app/locales/en/app.json") + .pipe(wrap("angular.module('locales.en', []).constant('locales.en', <%= contents %>);")) + .pipe(rename("locale.en.coffee")) + .pipe(gulp.dest("app/coffee/")); + + gulp.src("app/locales/es/app.json") + .pipe(wrap("angular.module('locales.es', []).constant('locales.es', <%= contents %>);")) + .pipe(rename("locale.es.coffee")) + .pipe(gulp.dest("app/coffee/")); +}); + + +//////////////////////////////////////////////////////////////////////////// +// Common tasks +//////////////////////////////////////////////////////////////////////////// + +// Copy Files +gulp.task("copy", ["sass"], function() { + // Copy fonts + gulp.src(paths.app+"/fonts/*") + .pipe(gulp.dest(paths.dist+"/fonts/")); + + gulp.src(paths.app+"/images/*") + .pipe(gulp.dest(paths.dist+"/images/")); +}); + +gulp.task("connect", function() { connect.server({ root: paths.dist, livereload: true @@ -98,29 +137,50 @@ gulp.task('connect', function() { }); // Rerun the task when a file changes -gulp.task('watch', function() { - gulp.watch(paths.jade, ['jade']); - gulp.watch(paths.appStyles, ['scss-lint', 'sass', 'css']); +gulp.task("watch", function() { + gulp.watch(paths.jade, ["jade"]); + gulp.watch(paths.appStyles, ["scss-lint", "sass", "css"]); }); +gulp.task("express", function() { + var express = require("express"); + var app = express(); + + app.use("/js", express.static(__dirname + "/app/js")); + app.use("/components", express.static(__dirname + "/app/components")); + app.use("/dist", express.static(__dirname + "/app/dist")); + app.use("/less", express.static(__dirname + "/app/less")); + app.use("/img", express.static(__dirname + "/app/img")); + app.use("/partials", express.static(__dirname + "/app/partials")); + app.use("/fonts", express.static(__dirname + "/app/fonts")); + + app.all("/*", function(req, res, next) { + // Just send the index.html for other files to support HTML5Mode + res.sendfile("index.html", { root: __dirname + "/app/" }); + }); + + app.listen(9001); +}); + + // The default task (called when you run `gulp` from cli) -gulp.task('default', [ - 'jade', - 'sass', - 'css', - 'copy', - 'connect', - 'watch' +gulp.task("default", [ + "jade", + "sass", + "css", + "copy", + "connect", + "watch" ]); // The default task (called when you run `gulp` from cli) -gulp.task('dist', [ - 'jade', - 'sass', - 'css', - 'minifyCSS', - 'imagemin', - 'copy', - 'connect', - 'watch' +gulp.task("dist", [ + "jade", + "sass", + "css", + "minifyCSS", + "imagemin", + "copy", + "connect", + "watch" ]); diff --git a/package.json b/package.json index 57bac52d..87fbf82c 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,19 @@ "license": "ISC", "devDependencies": { "gulp": "^3.6.0", + "coffee-script": "^1.7.1", + "express": "^4.3.0", + "gulp-clean": "^0.2.4", + "gulp-coffee": "~1.4.1", + "gulp-coffeelint": "^0.2.2", + "gulp-concat": "^2.1.7", + "gulp-if": "0.0.5", + "gulp-plumber": "^0.5.6", + "gulp-rename": "^1.2.0", + "gulp-template": "^0.1.1", + "gulp-uglify": "~0.2.0", + "gulp-util": "~2.2.14", + "gulp-wrap": "^0.3.0", "gulp-cached": "0.0.3", "gulp-changed": "^0.4.0", "gulp-clean": "^0.2.4",