| @@ -27,6 +27,10 @@ exports.load = function(endpoints, conf) { | |||
| //If it's an HTML file, we minify it | |||
| if (/\.html$/.test(ep)) { | |||
| res.endpoints[i] = minify.html(res.endpoints[i]); | |||
| } else if (/\.js$/.test(ep)) { | |||
| res.endpoints[i] = minify.js(res.endpoints[i]); | |||
| } else if (/\.css$/.test(ep)) { | |||
| res.endpoints[i] = minify.css(res.endpoints[i]); | |||
| } | |||
| } | |||
| @@ -1,9 +1,22 @@ | |||
| var minify = require("html-minifier").minify; | |||
| var minifyHtml = require("html-minifier").minify; | |||
| var minifyJs = require("uglify-js"); | |||
| var minifyCss = require("uglifycss").processString; | |||
| exports.html = function(src) { | |||
| return src; | |||
| return minify(src, { | |||
| return minifyHtml(src, { | |||
| removeComments: true, | |||
| collapseWhitespace: true, | |||
| }); | |||
| } | |||
| exports.js = function(src) { | |||
| var ast = minifyJs.parse(src); | |||
| ast.figure_out_scope(); | |||
| var compressor = minifyJs.Compressor(); | |||
| ast = ast.transform(compressor); | |||
| return ast.print_to_string(); | |||
| } | |||
| exports.css = function(src) { | |||
| return minifyCss(src); | |||
| } | |||
| @@ -15,6 +15,8 @@ | |||
| "license": "GPLv2", | |||
| "dependencies": { | |||
| "html-minifier": "^0.7.2", | |||
| "pg": "^4.4.0" | |||
| "pg": "^4.4.0", | |||
| "uglify-js": "^2.4.24", | |||
| "uglifycss": "0.0.15" | |||
| } | |||
| } | |||
| @@ -6,10 +6,17 @@ | |||
| </head> | |||
| <body> | |||
| {{global}} | |||
| <div id="uploader" class="container"> | |||
| <input type="file" id="uploader-input" class="hidden" multiple> | |||
| <button class="btn btn-default" onclick="$('#uploader-input').click()">Select Files</button> | |||
| <button class="btn btn-default" id="uploader-upload">Upload</button> | |||
| <input type="file" accept="image/*" id="uploader-input" class="hidden" multiple> | |||
| <button class="btn btn-default" onclick="$('#uploader-input').click()"> | |||
| Select Files | |||
| </button> | |||
| <button class="btn btn-default" id="uploader-upload"> | |||
| Upload | |||
| </button> | |||
| <ul class="list-group" id="uploader-list"></ul> | |||
| </div> | |||