From 44c090b5fd375a3d87c99d87d41d2e6fabd3a13f Mon Sep 17 00:00:00 2001 From: Mikko Ahlroth Date: Mon, 3 Nov 2014 00:08:29 +0200 Subject: [PATCH] Initial commit --- .bowerrc | 3 + .gitignore | 7 + bower.json | 17 ++ gulpfile.js | 98 +++++++++ package.json | 18 ++ src/app/require.config.js | 18 ++ src/app/router.js | 37 ++++ src/app/startup.js | 30 +++ src/components/db/db.js | 223 ++++++++++++++++++++ src/components/home-page/home.html | 3 + src/components/home-page/home.js | 13 ++ src/components/nav-bar/nav-bar.html | 27 +++ src/components/nav-bar/nav-bar.js | 13 ++ src/components/pagination/pagination.html | 21 ++ src/components/pagination/pagination.js | 45 ++++ src/components/single-post/single-post.html | 9 + src/components/single-post/single-post.js | 32 +++ src/components/transfer/transfer.js | 22 ++ src/css/styles.css | 3 + src/index.html | 24 +++ 20 files changed, 663 insertions(+) create mode 100644 .bowerrc create mode 100644 .gitignore create mode 100644 bower.json create mode 100644 gulpfile.js create mode 100644 package.json create mode 100644 src/app/require.config.js create mode 100644 src/app/router.js create mode 100644 src/app/startup.js create mode 100644 src/components/db/db.js create mode 100644 src/components/home-page/home.html create mode 100644 src/components/home-page/home.js create mode 100644 src/components/nav-bar/nav-bar.html create mode 100644 src/components/nav-bar/nav-bar.js create mode 100644 src/components/pagination/pagination.html create mode 100644 src/components/pagination/pagination.js create mode 100644 src/components/single-post/single-post.html create mode 100644 src/components/single-post/single-post.js create mode 100644 src/components/transfer/transfer.js create mode 100644 src/css/styles.css create mode 100644 src/index.html diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..b418e31 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "src/bower_modules" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b1943cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +node_modules/ +bower_modules/ + +# Don't track build output +dist/ +dev/ diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..0e0a204 --- /dev/null +++ b/bower.json @@ -0,0 +1,17 @@ +{ + "name": "laine", + "version": "0.0.0", + "private": true, + "dependencies": { + "components-bootstrap": "~3.1.1", + "crossroads": "~0.12.0", + "hasher": "~1.2.0", + "requirejs": "~2.1.11", + "requirejs-text": "~2.0.10", + "knockout": "~3.2.0", + "knockout-projections": "~1.1.0-pre", + "lodash": "~2.4.1", + "moment": "~2.8.3", + "marked": "~0.3.2" + } +} diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..b39cdd5 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,98 @@ +// Node modules +var fs = require('fs'), vm = require('vm'), merge = require('deeply'), chalk = require('chalk'), es = require('event-stream'); + +// Gulp and plugins +var gulp = require('gulp'), rjs = require('gulp-requirejs-bundler'), concat = require('gulp-concat'), clean = require('gulp-clean'), + replace = require('gulp-replace'), uglify = require('gulp-uglify'), htmlreplace = require('gulp-html-replace'); + +// Gulp minify for smallinizing our CSS +var minify = require('gulp-minify-css'); + +// Gulp filesize for printing sizes before and after minification +var size = require('gulp-size'); + +// Config +var requireJsRuntimeConfig = vm.runInNewContext(fs.readFileSync('src/app/require.config.js') + '; require;'); + requireJsOptimizerConfig = merge(requireJsRuntimeConfig, { + out: 'scripts.js', + baseUrl: './src', + name: 'app/startup', + paths: { + requireLib: 'bower_modules/requirejs/require', + lodashLib: 'bower_modules/lodash/dist/lodash', + momentLib: 'bower_modules/moment/moment' + }, + include: [ + 'requireLib', + 'lodashLib', + 'momentLib', + 'components/nav-bar/nav-bar', + 'components/home-page/home', + 'components/db/db', + 'components/transfer/transfer', + 'components/single-post/single-post', + 'components/pagination/pagination' + ], + insertRequire: ['app/startup'], + bundles: { + // If you want parts of the site to load on demand, remove them from the 'include' list + // above, and group them into bundles here. + // 'bundle-name': [ 'some/module', 'another/module' ], + // 'another-bundle-name': [ 'yet-another-module' ] + } + }); + +// Discovers all AMD dependencies, concatenates together all required .js files, minifies dist files +gulp.task('js', function() { + return rjs(requireJsOptimizerConfig) + .pipe(size({title: 'Original JS'})) + .pipe(gulp.dest('./dev/')) + .pipe(uglify({ preserveComments: false })) + .pipe(size({title: 'Minified JS'})) + .pipe(gulp.dest('./dist/')); +}); + +// Concatenates CSS files, rewrites relative paths to Bootstrap fonts, copies Bootstrap fonts +gulp.task('css', function() { + var bowerCss = gulp.src('src/bower_modules/components-bootstrap/css/bootstrap.min.css') + .pipe(replace(/url\((')?\.\.\/fonts\//g, 'url($1fonts/')), + appCss = gulp.src('src/css/*.css'); + + return es.concat(bowerCss, appCss) + .pipe(concat('css.css')) + .pipe(size({title: 'Original CSS'})) + .pipe(gulp.dest('./dev/')) + .pipe(minify()) + .pipe(size({title: 'Minified CSS'})) + .pipe(gulp.dest('./dist/')); +}); + +// Copies fonts +gulp.task('fonts', function() { + return gulp.src('./src/bower_modules/components-bootstrap/fonts/*', { base: './src/bower_modules/components-bootstrap/' }) + .pipe(gulp.dest('./dev/')) + .pipe(gulp.dest('./dist/')); +}); + +// Copies index.html, replacing + + + + + +
+
+

Loading…

+
+
+ +