From a3a70eedd48cc686f00e0b4c271ebb69502cfb88 Mon Sep 17 00:00:00 2001 From: Vit Brunner Date: Wed, 29 Oct 2014 10:52:00 +0100 Subject: [PATCH] Uglify js --- Gruntfile.coffee | 25 ++++++++++++++++++- package.json | 1 + source/documents/includes/body.html.jade | 16 ++++++++++++ .../scripts.html.jade} | 1 - source/documents/index-min.html.jade | 12 +++++++++ source/documents/index.html.jade | 19 ++------------ .../documents/scripts/controllers.js.coffee | 2 +- .../services/reader/_factory.js.coffee | 4 +-- source/documents/tests.html.jade | 2 +- 9 files changed, 59 insertions(+), 23 deletions(-) create mode 100644 source/documents/includes/body.html.jade rename source/documents/{_scripts.html.jade => includes/scripts.html.jade} (90%) create mode 100644 source/documents/index-min.html.jade diff --git a/Gruntfile.coffee b/Gruntfile.coffee index 78177c1..9741cb1 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -18,7 +18,29 @@ module.exports = (grunt) -> watch: { main: { files: '<%= var.source %>/**/*' - tasks: ['default'] + tasks: ['default', 'qunit'] + } + min: { + files: [ + '<%= var.destination %>/scripts/**/*.js' + '<%= var.destination %>/bower_components/**/*.js' + ] + tasks: ['uglify'] + } + } + + uglify: { + main: { + files: { + 'build/min/scripts.js': [ + 'build/bower_components/lodash/dist/lodash.js' + 'build/bower_components/angular/angular.js' + 'build/bower_components/angular-route/angular-route.js' + 'build/bower_components/angular-sanitize/angular-sanitize.js' + 'build/bower_components/marked/lib/marked.js' + 'build/scripts/**/*.js' + ] + } } } @@ -72,6 +94,7 @@ module.exports = (grunt) -> grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-coffee'); grunt.loadNpmTasks('grunt-contrib-stylus'); diff --git a/package.json b/package.json index 006a542..1605749 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "grunt-cli": "0.1.x", "grunt-contrib-connect": "0.8.x", "grunt-contrib-watch": "0.6.x", + "grunt-contrib-uglify": "0.6.x", "grunt-contrib-copy": "0.7.x", "grunt-contrib-coffee": "0.12.x", "grunt-contrib-stylus": "0.20.x", diff --git a/source/documents/includes/body.html.jade b/source/documents/includes/body.html.jade new file mode 100644 index 0000000..b58d3a2 --- /dev/null +++ b/source/documents/includes/body.html.jade @@ -0,0 +1,16 @@ +body(ng-controller="AppController") + noscript Well, terribly sorry but you do need to have Javascript enabled. + + // top menu + .pure-menu.pure-menu-open.pure-menu-horizontal.menu-main + ul + li + a(href="#{{base}}") Home + li + a(href="#{{base}}/pick") Pick + li + a(href="#") Help + li + a(href="#") About + + div(ng-view class="cols-{{columns}}") diff --git a/source/documents/_scripts.html.jade b/source/documents/includes/scripts.html.jade similarity index 90% rename from source/documents/_scripts.html.jade rename to source/documents/includes/scripts.html.jade index 8bfc6fc..5c1a997 100644 --- a/source/documents/_scripts.html.jade +++ b/source/documents/includes/scripts.html.jade @@ -3,7 +3,6 @@ script(src="bower_components/lodash/dist/lodash.js") script(src="bower_components/angular/angular.js") script(src="bower_components/angular-route/angular-route.js") script(src="bower_components/angular-sanitize/angular-sanitize.js") -script(src="bower_components/angular-sanitize/angular-sanitize.js") script(src="bower_components/marked/lib/marked.js") script(src="scripts/app.js") script(src="scripts/services/fetch.js") diff --git a/source/documents/index-min.html.jade b/source/documents/index-min.html.jade new file mode 100644 index 0000000..f1477eb --- /dev/null +++ b/source/documents/index-min.html.jade @@ -0,0 +1,12 @@ +doctype html +html(ng-app="sideBySide") + head + title Side By Side viewer + meta(charset="utf-8") + link(rel="stylesheet", type="text/css", href="//fonts.googleapis.com/css?family=Noticia+Text:400,700,400italic,700italic") + link(rel="stylesheet", type="text/css", href="bower_components/fontawesome/css/font-awesome.min.css") + link(rel="stylesheet", type="text/css", href="bower_components/pure/pure-min.css") + link(rel="stylesheet", type="text/css", href="styles/style.css") + script(src="min/scripts.js") + + include includes/body.html.jade diff --git a/source/documents/index.html.jade b/source/documents/index.html.jade index 4ae60c8..d1de893 100644 --- a/source/documents/index.html.jade +++ b/source/documents/index.html.jade @@ -7,21 +7,6 @@ html(ng-app="sideBySide") link(rel="stylesheet", type="text/css", href="bower_components/fontawesome/css/font-awesome.min.css") link(rel="stylesheet", type="text/css", href="bower_components/pure/pure-min.css") link(rel="stylesheet", type="text/css", href="styles/style.css") - include _scripts.html.jade + include includes/scripts.html.jade - body(ng-controller="AppController") - noscript Well, terribly sorry but you do need to have Javascript enabled. - - // top menu - .pure-menu.pure-menu-open.pure-menu-horizontal.menu-main - ul - li - a(href="#{{base}}") Home - li - a(href="#{{base}}/pick") Pick - li - a(href="#") Help - li - a(href="#") About - - div(ng-view class="cols-{{columns}}") + include includes/body.html.jade diff --git a/source/documents/scripts/controllers.js.coffee b/source/documents/scripts/controllers.js.coffee index 17ec1e0..e103ef5 100644 --- a/source/documents/scripts/controllers.js.coffee +++ b/source/documents/scripts/controllers.js.coffee @@ -9,7 +9,7 @@ angular.module("sideBySide.controllers", []) appUrl = $location.absUrl() .substring(0, $location.absUrl().length - $location.url().length) - .replace(/#$/, '') + .replace(/[^\/]*?#$/, '') base = appUrl + $location.url() .slice(1) diff --git a/source/documents/scripts/services/reader/_factory.js.coffee b/source/documents/scripts/services/reader/_factory.js.coffee index b0020ec..319274f 100644 --- a/source/documents/scripts/services/reader/_factory.js.coffee +++ b/source/documents/scripts/services/reader/_factory.js.coffee @@ -1,4 +1,4 @@ -angular.module("sideBySide").factory("readerFactory", ($injector) -> +angular.module("sideBySide").factory "readerFactory", ['$injector', ($injector) -> # Create poem reader based on file name # # @param [String] Source file name @@ -12,4 +12,4 @@ angular.module("sideBySide").factory("readerFactory", ($injector) -> return $injector.get("markdownReader") else throw "Unknown extension '" + extension + "'." -) +] diff --git a/source/documents/tests.html.jade b/source/documents/tests.html.jade index d7aa4d0..a65312a 100644 --- a/source/documents/tests.html.jade +++ b/source/documents/tests.html.jade @@ -4,7 +4,7 @@ html title Side By Side test suite meta(charset="utf-8") - include _scripts.html.jade + include includes/scripts.html.jade // test scripts link(rel="stylesheet", type="text/css", href="bower_components/qunit/qunit/qunit.css")