Minor reorganization on layout.

stable
Andrey Antukh 2014-06-11 10:40:23 +02:00
parent f71c81636d
commit ab097b4ff6
21 changed files with 161 additions and 88 deletions

View File

@ -6,7 +6,7 @@ html(lang="en")
meta(name="description", content="Taiga Landing page") meta(name="description", content="Taiga Landing page")
meta(name="keywords", content="Agile, Taiga, Management, Github") meta(name="keywords", content="Agile, Taiga, Management, Github")
meta(name="viewport", content="width=device-width, user-scalable=no") 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 block head
body body
include views/modules/nav include views/modules/nav

View File

@ -1,7 +1,7 @@
nav.menu nav.menu
h1.logo h1.logo
a(href="", title="Home") a(href="", title="Home")
img(src="images/logo.png", alt="Taiga") img(src="/images/logo.png", alt="Taiga")
ul.main-nav ul.main-nav
li li
a(href="", title="Search") a(href="", title="Search")

View File

@ -1,96 +1,135 @@
var gulp = require('gulp'), var gulp = require("gulp"),
jade = require('gulp-jade'), jade = require("gulp-jade"),
newer = require('gulp-newer'),
minifyHTML = require('gulp-minify-html'), coffee = require("gulp-coffee"),
sass = require('gulp-ruby-sass'), concat = require("gulp-concat"),
csslint = require('gulp-csslint'), uglify = require("gulp-uglify"),
minifyCSS = require('gulp-minify-css'), plumber = require("gulp-plumber"),
imagemin = require('gulp-imagemin'), wrap = require("gulp-wrap"),
watch = require('gulp-watch'), rename = require("gulp-rename"),
size = require('gulp-filesize'),
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"), notify = require("gulp-notify"),
connect = require('gulp-connect'), connect = require("gulp-connect"),
scsslint = require('gulp-scss-lint'), scsslint = require("gulp-scss-lint"),
newer = require('gulp-newer'), newer = require("gulp-newer")
plumber = require('gulp-plumber'), cache = require("gulp-cached");
cache = require('gulp-cached');
var paths = { var paths = {
app: 'app', app: "app",
dist: 'dist', dist: "dist",
html: 'app/*.html', html: "app/*.html",
jade: 'app/**/*.jade', jade: "app/partials/**/*.jade",
appStyles: 'app/styles/**/*.scss', appStyles: "app/styles/**/*.scss",
distStyles: 'dist/styles', distStyles: "dist/styles",
sassMain: 'app/styles/main.scss', sassMain: "app/styles/main.scss",
css: 'dist/styles/**/*.css', css: "dist/styles/**/*.css",
images: 'app/images/**/*' images: "app/images/**/*"
}; };
gulp.task('jade', function() { ////////////////////////////////////////////////////////////////////////////
// Layout/CSS Related tasks
////////////////////////////////////////////////////////////////////////////
gulp.task("jade", function() {
return gulp.src(paths.jade) return gulp.src(paths.jade)
.pipe(plumber()) .pipe(plumber())
.pipe(jade({ .pipe(jade({pretty: true}))
pretty: true .pipe(gulp.dest(paths.dist + "/partials"));
}))
.pipe(gulp.dest(paths.dist))
.pipe(size());
}); });
// Sass lint // Sass lint
gulp.task('scss-lint', function() { gulp.task("scss-lint", function() {
gulp.src([paths.appStyles, '!/**/bourbon/**/*.scss']) gulp.src([paths.appStyles, "!/**/bourbon/**/*.scss"])
.pipe(cache('scsslint')) .pipe(cache("scsslint"))
.pipe(scsslint({config: 'scsslint.yml'})) .pipe(scsslint({config: "scsslint.yml"}))
}); });
// Sass Files // Sass Files
gulp.task('sass', function () { gulp.task("sass", function () {
return gulp.src(paths.sassMain) return gulp.src(paths.sassMain)
.pipe(sass().on('error', function(err) { .pipe(plumber())
console.log(err); .pipe(sass())
})) .pipe(gulp.dest(paths.distStyles));
.pipe(gulp.dest(paths.distStyles))
.pipe(size());
}); });
// CSS Linting and report // CSS Linting and report
gulp.task('css', ['sass'], function() { gulp.task("css", ["sass"], function() {
gulp.src([paths.css, '!'+paths.dist+'/styles/vendor/**/*.css']) gulp.src([paths.css, "!"+paths.dist+"/styles/vendor/**/*.css"])
.pipe(csslint('csslintrc.json')) .pipe(csslint("csslintrc.json"))
.pipe(csslint.reporter()); .pipe(csslint.reporter());
}); });
// Minify CSS // Minify CSS
gulp.task('minifyCSS', ['css', 'sass'], function () { gulp.task("minifyCSS", ["css", "sass"], function () {
gulp.src('dist/styles/main.css') gulp.src("dist/styles/main.css")
.pipe(minifyCSS()) .pipe(minifyCSS())
.pipe(gulp.dest(paths.distStyles)) .pipe(gulp.dest(paths.distStyles))
.pipe(size()); .pipe(size());
}); });
gulp.task('imagemin', function () { gulp.task("imagemin", function () {
return gulp.src(paths.images) return gulp.src(paths.images)
.pipe(imagemin({ .pipe(plumber())
progressive: true .pipe(imagemin({progressive: true}))
}).on('error', function(err) { .pipe(gulp.dest(paths.dist+"/images"));
console.log(err);
}))
.pipe(gulp.dest(paths.dist+'/images'));
}); });
////////////////////////////////////////////////////////////////////////////
// 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("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 // Copy Files
gulp.task('copy', ['sass', 'css'], function() { gulp.task("copy", ["sass"], function() {
//Copy vendor styles
gulp.src(paths.app+'/styles/vendor/**/*.css')
.pipe(gulp.dest(paths.dist+'/styles/vendor/'));
// Copy fonts // Copy fonts
gulp.src(paths.app+'/fonts/*') gulp.src(paths.app+"/fonts/*")
.pipe(gulp.dest(paths.dist+'/fonts/')); .pipe(gulp.dest(paths.dist+"/fonts/"));
gulp.src(paths.app+"/images/*")
.pipe(gulp.dest(paths.dist+"/images/"));
}); });
gulp.task('connect', function() { gulp.task("connect", function() {
connect.server({ connect.server({
root: paths.dist, root: paths.dist,
livereload: true livereload: true
@ -98,29 +137,50 @@ gulp.task('connect', function() {
}); });
// Rerun the task when a file changes // Rerun the task when a file changes
gulp.task('watch', function() { gulp.task("watch", function() {
gulp.watch(paths.jade, ['jade']); gulp.watch(paths.jade, ["jade"]);
gulp.watch(paths.appStyles, ['scss-lint', 'sass', 'css']); 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) // The default task (called when you run `gulp` from cli)
gulp.task('default', [ gulp.task("default", [
'jade', "jade",
'sass', "sass",
'css', "css",
'copy', "copy",
'connect', "connect",
'watch' "watch"
]); ]);
// The default task (called when you run `gulp` from cli) // The default task (called when you run `gulp` from cli)
gulp.task('dist', [ gulp.task("dist", [
'jade', "jade",
'sass', "sass",
'css', "css",
'minifyCSS', "minifyCSS",
'imagemin', "imagemin",
'copy', "copy",
'connect', "connect",
'watch' "watch"
]); ]);

View File

@ -13,6 +13,19 @@
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"gulp": "^3.6.0", "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-cached": "0.0.3",
"gulp-changed": "^0.4.0", "gulp-changed": "^0.4.0",
"gulp-clean": "^0.2.4", "gulp-clean": "^0.2.4",