Compare commits

...

3 Commits

Author SHA1 Message Date
Sven Slootweg a4fd84ef17 Add fonts and Riot.js 8 years ago
Sven Slootweg 3932ec0d41 Clean up logging code in Gulpfile 8 years ago
Sven Slootweg 5106df786c Store webfonts locally 8 years ago

@ -0,0 +1,3 @@
{
"presets": ["es2015-riot"]
}

1
.gitignore vendored

@ -5,3 +5,4 @@
/old/ /old/
/lib/ /lib/
/app.es5.js /app.es5.js
/notes.md

@ -4,6 +4,7 @@ var path = require("path");
var xtend = require("xtend"); var xtend = require("xtend");
var rfr = require("rfr"); var rfr = require("rfr");
var riot = require("gulp-riot");
var sass = require("gulp-sass"); var sass = require("gulp-sass");
var jade = require("gulp-jade"); var jade = require("gulp-jade");
var babel = require("gulp-babel"); var babel = require("gulp-babel");
@ -17,11 +18,16 @@ var namedLog = require("gulp-named-log");
var runProcess = rfr("src/gulp/run-process"); var runProcess = rfr("src/gulp/run-process");
var patchLivereloadLogger = rfr("src/gulp/patch-livereload-logger"); var patchLivereloadLogger = rfr("src/gulp/patch-livereload-logger");
var babelLogger = namedLog("babel"); var loggerOptions = {
var jadeLogger = namedLog("jade"); basePath: __dirname
var sassLogger = namedLog("sass"); }
var electronLogger = namedLog("electron");
var livereloadLogger = namedLog("livereload"); var babelLogger = namedLog("babel", loggerOptions);
var jadeLogger = namedLog("jade", loggerOptions);
var sassLogger = namedLog("sass", loggerOptions);
var riotLogger = namedLog("riot", loggerOptions);
var electronLogger = namedLog("electron", loggerOptions);
var livereloadLogger = namedLog("livereload", loggerOptions);
patchLivereloadLogger(livereload, livereloadLogger); patchLivereloadLogger(livereload, livereloadLogger);
@ -29,7 +35,8 @@ var sources = {
"babel-main": "app.js", "babel-main": "app.js",
"babel-lib": "src/**/*.js", "babel-lib": "src/**/*.js",
"jade-views": "src/views/**/*.jade", "jade-views": "src/views/**/*.jade",
"sass-main": "src/stylesheets/**/*.scss" "sass-main": "src/stylesheets/**/*.scss",
"riot-components": "src/components/**/*.tag"
} }
function getLiveReloadStream() { function getLiveReloadStream() {
@ -40,7 +47,7 @@ function getLiveReloadStream() {
return lr; return lr;
} }
gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main'], function() { gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main', 'riot-components'], function() {
var electronProcess = runProcess(path.join(__dirname, "node_modules/.bin/electron"), [__dirname], { var electronProcess = runProcess(path.join(__dirname, "node_modules/.bin/electron"), [__dirname], {
logger: electronLogger, logger: electronLogger,
env: xtend(process.env, { env: xtend(process.env, {
@ -51,45 +58,59 @@ gulp.task("electron", ['babel-lib', 'babel-main', 'jade-views', 'sass-main'], fu
gulp.task('babel-main', function() { gulp.task('babel-main', function() {
return gulp.src(sources["babel-main"]) return gulp.src(sources["babel-main"])
.pipe(plumber()) .pipe(plumber(babelLogger.error))
.pipe(cache("babel-main")) .pipe(cache("babel-main"))
.pipe(babel({presets: ["es2015"]}).on('error', babelLogger.error)).on('data', babelLogger.log) .pipe(babel({presets: ["es2015"]}))
.pipe(babelLogger.stream())
.pipe(getLiveReloadStream()) .pipe(getLiveReloadStream())
.pipe(remember("babel-main"))
.pipe(rename("app.es5.js")) .pipe(rename("app.es5.js"))
.pipe(gulp.dest("./")); .pipe(gulp.dest("./"));
}); });
gulp.task('babel-lib', function() { gulp.task('babel-lib', function() {
return gulp.src(sources["babel-lib"]) return gulp.src(sources["babel-lib"])
.pipe(plumber()) .pipe(plumber(babelLogger.error))
.pipe(cache("babel-lib")) .pipe(cache("babel-lib"))
.pipe(babel({presets: ["es2015"]}).on('error', babelLogger.error)).on('data', babelLogger.log) .pipe(babel({presets: ["es2015"]}))
.pipe(babelLogger.stream())
.pipe(getLiveReloadStream()) .pipe(getLiveReloadStream())
.pipe(remember("babel-lib"))
.pipe(gulp.dest("lib/")); .pipe(gulp.dest("lib/"));
}); });
gulp.task("jade-views", function() { gulp.task("jade-views", function() {
return gulp.src(sources["jade-views"]) return gulp.src(sources["jade-views"])
.pipe(plumber()) .pipe(plumber(jadeLogger.error))
.pipe(cache("jade-views")) .pipe(cache("jade-views"))
.pipe(jade().on('error', jadeLogger.error)).on('data', jadeLogger.log) .pipe(jade())
.pipe(jadeLogger.stream())
.pipe(getLiveReloadStream()) .pipe(getLiveReloadStream())
.pipe(remember("jade-views"))
.pipe(gulp.dest("lib/views/")); .pipe(gulp.dest("lib/views/"));
}); });
gulp.task("sass-main", function() { gulp.task("sass-main", function() {
return gulp.src(sources["sass-main"]) return gulp.src(sources["sass-main"])
.pipe(plumber()) .pipe(plumber(sassLogger.error))
.pipe(cache("sass-main")) .pipe(cache("sass-main"))
.pipe(sass().on('error', sassLogger.error)).on('data', sassLogger.log) .pipe(sass())
.pipe(sassLogger.stream())
.pipe(getLiveReloadStream()) .pipe(getLiveReloadStream())
.pipe(remember("sass-main"))
.pipe(gulp.dest("lib/stylesheets/")); .pipe(gulp.dest("lib/stylesheets/"));
}); });
gulp.task("riot-components", function() {
return gulp.src(sources["riot-components"])
.pipe(plumber(riotLogger.error))
.pipe(cache("riot-components"))
.pipe(riot({
type: "babel",
template: "jade",
style: "scss"
}))
.pipe(riotLogger.stream())
.pipe(getLiveReloadStream())
.pipe(gulp.dest("lib/components/"));
});
gulp.task('watch', function () { gulp.task('watch', function () {
livereload.listen(); livereload.listen();
@ -97,6 +118,7 @@ gulp.task('watch', function () {
gulp.watch(sources["babel-main"], ["babel-main"]); gulp.watch(sources["babel-main"], ["babel-main"]);
gulp.watch(sources["jade-views"], ["jade-views"]); gulp.watch(sources["jade-views"], ["jade-views"]);
gulp.watch(sources["sass-main"], ["sass-main"]); gulp.watch(sources["sass-main"], ["sass-main"]);
gulp.watch(sources["riot-components"], ["riot-components"]);
}); });
gulp.task('default', ['watch', 'electron']); gulp.task('default', ['watch', 'electron']);

@ -3,7 +3,8 @@
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1",
"download-fonts": "webfont-dl 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,600,300,200,200italic,300italic,400italic,600italic,900,700italic,900italic&subset=latin,latin-ext' --out ./lib/stylesheets/fonts.css --font-out ./lib/fonts --css-rel ../fonts"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -20,17 +21,21 @@
"bhttp": "^1.2.1", "bhttp": "^1.2.1",
"bluebird": "^3.3.4", "bluebird": "^3.3.4",
"chalk": "^1.1.3", "chalk": "^1.1.3",
"document-ready-promise": "^3.0.1",
"electron-prebuilt": "^0.37.5", "electron-prebuilt": "^0.37.5",
"file-url": "^1.1.0", "file-url": "^1.1.0",
"gulp-named-log": "0.0.1", "gulp-named-log": "0.0.1",
"gulp-sass": "^2.2.0", "gulp-sass": "^2.2.0",
"ia-headers": "^1.0.0", "ia-headers": "^1.0.0",
"jquery": "^2.2.3",
"rfr": "^1.2.3", "rfr": "^1.2.3",
"riot": "^2.3.18",
"uuid": "^2.0.1", "uuid": "^2.0.1",
"xtend": "^4.0.1" "xtend": "^4.0.1"
}, },
"devDependencies": { "devDependencies": {
"babel-preset-es2015": "^6.6.0", "babel-preset-es2015": "^6.6.0",
"babel-preset-es2015-riot": "^1.0.4",
"gulp": "^3.9.1", "gulp": "^3.9.1",
"gulp-babel": "^6.1.2", "gulp-babel": "^6.1.2",
"gulp-cached": "^1.1.0", "gulp-cached": "^1.1.0",
@ -39,6 +44,8 @@
"gulp-plumber": "^1.1.0", "gulp-plumber": "^1.1.0",
"gulp-remember": "^0.3.1", "gulp-remember": "^0.3.1",
"gulp-rename": "^1.2.2", "gulp-rename": "^1.2.2",
"split": "^1.0.0" "gulp-riot": "^0.4.9",
"split": "^1.0.0",
"webfont-dl": "^0.1.2"
} }
} }

@ -0,0 +1,8 @@
app
h1 Some app
fileset-browser
script.
this.tags["fileset-browser"].on("click", () => {
console.log("Clicked!");
})

@ -0,0 +1,4 @@
const rfr = require("rfr");
rfr("lib/components/fileset-browser");
require("./component");

@ -0,0 +1,16 @@
fileset-browser
strong Fileset browser goes here
style(scoped).
strong {
color: red;
}
script.
let $ = require("jquery")
this.on("mount", () => {
$("strong", this.root).on("click", () => {
this.trigger("click");
});
});

@ -0,0 +1 @@
require("./component")

@ -1,3 +1,3 @@
body { body {
font-family: sans-serif; font-family: "Source Sans Pro", sans-serif;
} }

@ -2,7 +2,9 @@ html
head head
meta(charset="UTF-8") meta(charset="UTF-8")
title Sample application title Sample application
link(rel="stylesheet", href="../stylesheets/fonts.css")
link(rel="stylesheet", href="../stylesheets/style.css") link(rel="stylesheet", href="../stylesheets/style.css")
script(src="index.js")
body body
h1 Sample header 2 app
p Some sample content

@ -0,0 +1,12 @@
const Promise = require("bluebird");
const documentReady = require("document-ready-promise");
const riot = require("riot");
const rfr = require("rfr");
rfr("lib/components/app");
Promise.try(() => {
return documentReady();
}).then(() => {
riot.mount("app");
})
Loading…
Cancel
Save