From 56a2a0ad6841067a084060ff500a0cb9385f0b4f Mon Sep 17 00:00:00 2001 From: Bruno Dias Date: Mon, 13 Apr 2015 02:50:57 -0300 Subject: [PATCH] Set up Gulpfile --- .gitignore | 4 +- Gulpfile.js | 132 ++++++++++++++++++++++++++++++++++++++++++++ game/main.coffee | 54 +++++++++++++++--- html/index.html | 4 +- img/storyteller.jpg | Bin 0 -> 43333 bytes less/main.less | 7 ++- package.json | 5 +- 7 files changed, 190 insertions(+), 16 deletions(-) create mode 100644 img/storyteller.jpg diff --git a/.gitignore b/.gitignore index b512c09..e13c8ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -node_modules \ No newline at end of file +node_modules +build +dist \ No newline at end of file diff --git a/Gulpfile.js b/Gulpfile.js index e69de29..2dcde9a 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -0,0 +1,132 @@ +'use strict'; + +/* Raconteur Gulpfile scaffold. */ +/* Includes code adapted from Gulp documentation, among other sources. */ + +/* Imports */ +var watchify = require('watchify'), + browserify = require('browserify'), + browserSync = require('browser-sync'), + gulp = require('gulp'), + source = require('vinyl-source-stream'), + gutil = require('gulp-util'), + coffeify = require('coffeeify'), + less = require('gulp-less'), + minifyCSS = require('gulp-minify-css'), + uglify = require('gulp-uglify'), + buffer = require('vinyl-buffer'), + _ = require('lodash'); + +var reload = browserSync.reload; + +/* Tasks */ + +/* Trivial file copies */ + +function html (target) { + return function () { + return gulp.src('html/index.html') + .pipe(gulp.dest(target)); + }; +} + +function img (target) { + return function () { + return gulp.src(['img/*.png', 'img/*.jpeg', 'img/*.jpg']) + .pipe(gulp.dest(target)); + }; +} + +gulp.task('html', html('./build')); +gulp.task('img', img('./build/img')); + +/* Less */ + +gulp.task('less', function () { + gulp.src('less/main.less') + .pipe(less()) + .pipe(gulp.dest('./build/css')); +}); + +/* Generate JavaScript with browser sync. */ + +var customOpts = { + entries: ['./game/main.coffee'], + debug: true, + transform: [coffeify] +}; + +var opts = _.assign({}, watchify.args, customOpts); +var bundler = watchify(browserify(opts)); + +gulp.task('coffee', bundle); // `gulp coffee` will generate bundle +bundler.on('update', bundle); // Re-bundle on dep updates +bundler.on('log', gutil.log); // Output build logs to terminal + +function bundle () { + return bundler.bundle() + .on('error', gutil.log.bind(gutil, 'Browserify Error')) + .pipe(source('bundle.js')) + .pipe(gulp.dest('./build/game')); +}; + +/* Make a development build */ + +gulp.task('build', ['html', 'img', 'less', 'coffee'], function () { + +}); + +/* Start a development server */ + +gulp.task('serve', ['build'], function () { + browserSync({ + server: { + baseDir: 'build' + } + }); + + var lessListener = function () { + reload('./build/css/main.css'); + } + + gulp.watch(['./html/*.html'], ['html']); + gulp.watch(['./less/*.less'], ['less']); + gulp.watch(['./img/*.png', './img/*.jpeg', './img/*.jpg'], ['img']); + + gulp.watch(['./build/css/main.css'], lessListener); + gulp.watch( + ['./build/game/bundle.js', './build/img/*', './build/index.html'], + browserSync.reload); +}); + +/* Distribution tasks */ + +gulp.task('html-dist', html('./dist')); +gulp.task('img-dist', img('./dist/img')); + +gulp.task('less-dist', function () { + return gulp.src('./less/main.less') + .pipe(less()) + .pipe(minifyCSS()) + .pipe(gulp.dest('./dist/css')); +}); + +var distBundler = browserify({ + debug: false, + entries: ['./game/main.coffee'], + transform: ['coffeeify'] +}); + +gulp.task('coffee-dist', function () { + return distBundler.bundle() + .pipe(source('bundle.js')) + .pipe(buffer()) + .pipe(uglify()) + .on('error', gutil.log) + .pipe(gulp.dest('./dist/game')); +}); + +gulp.task('dist', ['html-dist', 'img-dist', 'less-dist', 'coffee-dist'], + function () { + return; +}); \ No newline at end of file diff --git a/game/main.coffee b/game/main.coffee index 0d60376..81e861a 100644 --- a/game/main.coffee +++ b/game/main.coffee @@ -1,12 +1,11 @@ # Require the libraries we rely on +situation = require('raconteur/lib/situation.js') +situation.exportUndum() # Ensures our Undum object is the same as Raconteur's $ = require('jquery') -undum = require('undum-commonjs') - -situation = require('raconteur/situation.js') -oneOf = require('raconteur/oneOf.js') -elements = require('raconteur/elements.js') -qualities = require('raconteur/qualities.js') +oneOf = require('raconteur/lib/oneOf.js') +elements = require('raconteur/lib/elements.js') +qualities = require('raconteur/lib/qualities.js') a = elements.a span = elements.span @@ -23,18 +22,55 @@ undum.game.version = "0.1" situation 'start', content: """ - # Welcome to raconteur + ![a storyteller](img/storyteller.jpg) + + # Welcome to Raconteur If you're seeing this, you've successfully installed the Raconteur game - scaffold. Get writing! + scaffold. Get writing! + + Raconteur lives at a [Github Repository], where you can report issues or + send feedback. + + [Github Repository]: https://github.com/sequitur/raconteur """ +# ---------------------------------------------------------------------------- +# Qualities + +qualities + stats: + name: 'Statistics', + strength: qualities.integer('Strength', {priority: '001'}), + dexterity: qualities.integer('Dexterity', {priority: '002'}), + constitution: qualities.integer('Constitution', {priority: '003'}), + intelligence: qualities.integer('Intelligence', {priority: '004'}), + perception: qualities.integer('Perception', {priority: '005'}), + charisma: qualities.integer('Charisma', {priority: '006'}) + possessions: + name: 'Possessions', + gold: qualities.integer('Gold'), + sword: qualities.wordScale('Sword', ['dull', 'sharp']), + shield: qualities.yesNo('Shield') + options: + extraClasses: ["possessions"] + + #----------------------------------------------------------------------------- # Initialise Undum undum.game.init = (character, system) -> # Add initialisation code here + character.qualities.strength = 10 + character.qualities.dexterity = 12 + character.qualities.constitution = 10 + character.qualities.perception = 14 + character.qualities.intelligence = 16 + character.qualities.charisma = 8 + character.qualities.gold = 100 + character.qualities.sword = 1 + character.qualities.shield = 1 # Get the party started when the DOM is ready. -$(undum.begin) \ No newline at end of file +$(-> undum.begin()) \ No newline at end of file diff --git a/html/index.html b/html/index.html index d2c85bc..5679fda 100644 --- a/html/index.html +++ b/html/index.html @@ -5,10 +5,10 @@ - Raconteur Game Template + Raconteur Scaffold - + diff --git a/img/storyteller.jpg b/img/storyteller.jpg new file mode 100644 index 0000000000000000000000000000000000000000..386cdc194d9a330e9ba66746e9dce2aec87fee9c GIT binary patch literal 43333 zcmb@s1yr0%vo<=oySuv%?k>UI2DgF1-2%ZA+}+*XU4kWeU~oww0TLv^1B8S-*?WKA zxA!^c{{KB|-Ck>Ys;jG>?ym0Ydf)E%Y5nN~09RE>MF{{0OPp|=0Kn58a*3mlkB1l! zkDE8QwVk_-J-4m9D^Gy62M>^&mj@sr9pGVY>um2sYh&*Kag${E)<4Wb3$c@AF%s0^ z)$owFcZ56(^0L77LJM`2$=GM*n8> zu)u`8?7(8W3QB*8z)F%VfAz)R-=Eu`pWEHbfd?omD$2vl$HT|R1(V?N4s`Re4&ZY0 zW`H4})Bb^>VDD|~1@Z8KxV!y@<>Bb=R~?(uKLe~j+m)qji;21H9M@o%1(g0+vm zyq7&Jx0B-I1qyKS3UL92^??FnynwXD`M7 zcdh@h|0%8_FR$(84u-hcOUeG8W?EfkIa*ejbw$|zuKqVMn00x6Pto7Z`+qRGo$bGE z?cwX?^2glS+49)C*t^=h`FO)D4g5XnFiYFnih$OVfz3G_>cL8N&M9^j1tqc_kvivX!^R^*n3F{@d^s@3G+$t{I{Cl9sSKz zw|DbaaRa-&T zxJCXW_=jnJx2WV|?d>Sr`&(9`rp|K=9B-kt^Vcie@+lgOboWL zAmG5?uJD%+h;RY<^?|}-d_rP;BLDJ%|04N&oWEIrc#pf6zPr22UyDuqUk*ttuO~#y zs$p#lar^C|u(kJJ75)KY|F<6e!wdhW_ovLi)HGnbi=DNP_1_f#-@E>I+5fdEH8lRu z#&mW4YuUj@sG%XI;^ysR?PhDQq96rha6=$=Vj}YLyn+I}3cR9xyh0*Cpa>tItb&}7 zuoABzzp#=JY&ZCCs(%d=hNs|e>-*caR1|1`d#RVbx4W;Gt-U16Z*)5tx;&q}fD*5e z62IbK=)5BQ@*;e)LIQHa{PLm-EVMj-EV@72(DH)7_IGQS|G@sy&Hpbz|LW%d0P#N? z_0N3;w)Mk;0MEZe1+4JzU}NtFi!fflL&?)VybNqpveeeqQc_V@goQ2u0G=0SCPjE$ z0KnDF$Lse-W^4kYMOg%(0x$ps0DgeDwXL^@thTl~0G8a`-Ryt=|1;gL0$@l0z%tiw ztbf-1UrXq=9$r2$sYlq4&kh!T001~%813xu;{oHt6~Jgh8|Odhmfy6OzOFosKMtd@ z9sZ=DziFF4=}*6DFW4YpGS|Q59sZ!s%kQre96Ub&@P8}+2cv)#0MM!g01zMl!xKmZ07_s_GdP+5;V}aN09+mb zV5s0}3m^|bfd8F-=LoQbh>Z9{Fz){{J-r6tp~A%irV!xp0PuKl2zYQ$;{e#i z!Xx~CBKx;_kdWaK5K-U&sIXen-!*@$g9*XGYM(X%mJPaIIBBR*PoAk>qCz4(VGMRkOadkOyHVUr>t2aK_*}97pH+=W47#b-VEQc z6Bj?u+IqcWHBqY+RJ^Pxys~83h;*#v^)}?rKo`sw^NbDB&%9�{Yq0@D{dEhlw^6 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 literal 0 HcmV?d00001 diff --git a/less/main.less b/less/main.less index c7c55b5..9e8566c 100644 --- a/less/main.less +++ b/less/main.less @@ -292,14 +292,15 @@ a { transition: color 0.1s ease-in; } a.raw { - padding-right: 14px; - background: transparent url("../img/external_link.png") no-repeat right 4px; + // External link + border-bottom: 1px dashed @anchor-colour; } a:hover { color: lighten(@anchor-colour, 10%); } -img.float_right { +img { + .material_shadow(); float: right; margin: 1.1em 0 1.1em 1.1em; } diff --git a/package.json b/package.json index 7af374e..e9715d0 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,12 @@ "babelify": "^6.0.2", "browser-sync": "^2.6.0", "browserify": "^9.0.8", + "coffeeify": "^1.0.0", "gulp": "^3.8.11", + "gulp-gzip": "^1.1.0", "gulp-less": "^3.0.2", - "gulp-sourcemaps": "^1.5.1", + "gulp-minify-css": "^1.0.0", + "gulp-uglify": "^1.2.0", "gulp-util": "^3.0.4", "lodash": "^3.6.0", "vinyl-buffer": "^1.0.0",