Browse Source

now minifying javascript and CSS

master
mort 8 years ago
parent
commit
ed12b4e92e
4 changed files with 33 additions and 7 deletions
  1. 4
    0
      lib/loader.js
  2. 16
    3
      lib/minify.js
  3. 3
    1
      package.json
  4. 10
    3
      views/index.html

+ 4
- 0
lib/loader.js View File

@@ -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]);
}
}


+ 16
- 3
lib/minify.js View File

@@ -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);
}

+ 3
- 1
package.json View File

@@ -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"
}
}

+ 10
- 3
views/index.html View File

@@ -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>


Loading…
Cancel
Save