sterno
v2.0.0
Published
When app cache works right, this wont be neccessary any more.
Readme
sterno
Tired of appcache being broken? Still need to work with offline or packaged apps? I'm here to help.
Example
Create a bootloader.js entry point to tell sterno what your app's origin is
and what files you want it to manage:
var sterno = require('sterno');
sterno('http://imlucas.github.io/node-sterno', ['/app.js']);And create a gulpjs file like:
var gulp = require('gulp'),
browserify = require('gulp-browserify'),
githubPages = require('gulp-github-pages'),
manifest = require('gulp-sterno-manifest');
gulp.task('manifest', function(){
gulp.src('./.build/**/*')
.pipe(manifest({
version: '0.0.1'
}))
.pipe(gulp.dest('./.build/sterno-manifest.json'));
});
gulp.task('build', function(){
gulp.src('./{bootloader,app}.js')
.pipe(browserify({debug : false}))
.pipe(gulp.dest('./.build'));
gulp.src('./app/index.html')
.pipe(gulp.dest('./.build'));
});
gulp.task('publish', function(){
gulp.src('./.build/**/*')
.pipe(githubPages());
});
gulp.task('deploy', ['build', 'manifest', 'publish']);And a barebones index.html:
<!DOCTYPE html>
<html>
<head>
<title>Sterno Demo</title>
</head>
<body>
<script src="bootstrap.js"></script>
</body>
</html>
When you run gulp deploy you got yourself a stew goin':
- browserify will build your
app.jsandbootloader.jsinto./.build - copy
index.htmlinto build - generate the manifest file for sterno to use
- deploy everything to your github pages
When you open your app in chrome, sterno will:
- phone home for your manifest file
- download everything in the manifest if it's your first time to the app
- only download assets that have changed in the manifest
- if an asset hasn't changed, it will just be served locally
@todo: Actually check-in this example.
Testing
See project on travisci or just run locally if you have phantomjs installed:
npm testLicense
MIT

