added ability to pass string value in minify functions if passed single parameter

This commit is contained in:
coderaiser 2012-07-07 07:41:14 -04:00
parent 7f814ae3be
commit dcf089e4fd
2 changed files with 40 additions and 37 deletions

View file

@ -43,20 +43,15 @@ var makeFolder = function(pError){
*/
fs.mkdir(MinFolder,511,makeFolder);
/* CONSTANTS */
/* dir contains css-files */
var CSSDIR = 'css/';
exports.MinFolder = MinFolder;
/* function which minificate js-files
* @pJSFiles_a - varible, wich contain array
* of js file names
* of js file names or string, if name
* single
*/
exports.jsScripts=function jsScripts(pJSFiles_a){
'use strict';
'use strict';
/* подключаем модуль uglify-js
* если его нет - дальнейшая
* работа функции не имеет смысла
@ -74,8 +69,10 @@ exports.jsScripts=function jsScripts(pJSFiles_a){
/* Константы */
var CLIENT_JS='client.js';
var CLOUDFUNC_JS='lib/cloudfunc.js';
var CLIENT_KEYBINDING_JS='lib/client/keyBinding.js';
if(typeof pJSFiles_a === "string")
pJSFiles_a=[pJSFiles_a];
var dataReaded_f=function(pFileName, pData){
console.log('file ' + pFileName + ' readed');
@ -145,9 +142,10 @@ exports.jsScripts=function jsScripts(pJSFiles_a){
/* функция сжимает css-стили
* и сохраняет их с именем .min.css
* @pImgConvertToBase64_b - булевый признак,
* который отвечает за то, что быконвертировать
* картинки в base64 и поместить в выходной css файл
* @pCSSFiles_a - масив имен css файлов
* который отвечает за то, что быконвертировать
* картинки в base64 и поместить в выходной css файл
* @pCSSFiles_a - масив имен css файлов или строка,
* если имя одно
*/
exports.cssStyles=function cssStyles(pCSSFiles_a, pImgConvertToBase64_b){
'use strict';
@ -166,16 +164,16 @@ exports.cssStyles=function cssStyles(pCSSFiles_a, pImgConvertToBase64_b){
'https://github.com/GoalSmashers/clean-css');
return false;
}
if(typeof pCSSFiles_a === "string")
pCSSFiles_a=[pCSSFiles_a];
/* Varible contains information
* about readed css file
*/
var lCSSFiles_doneCount=0;
/* Константы */
var STYLE_CSS = CSSDIR+'style.css';
var RESET_CSS = CSSDIR+'reset.css';
var pCSSFiles_a=[CSSDIR+'style.css',CSSDIR+'reset.css'];
var lReadedStyles=[];
var lAllStyle='';
var lResetCssDone=false;
var lStyleCssDone=false;
var dataReaded_f=function(pFileName, pData){
console.log('file ' + pFileName + ' readed');
/*********************************/
@ -191,13 +189,13 @@ exports.cssStyles=function cssStyles(pCSSFiles_a, pImgConvertToBase64_b){
var minFileName=pFileName.replace('.css','.min.css');
if(pFileName===STYLE_CSS)lStyleCssDone=true;
if(pFileName===RESET_CSS)lResetCssDone=true;
++lCSSFiles_doneCount;
/* if all files writed we
* save all minimized css
* to one file all.min.css
*/
if(lStyleCssDone && lResetCssDone){
if(pCSSFiles_a.length === lCSSFiles_doneCount){
/* если включена конвертация картинок в base64
* вызываем её
*/
@ -222,10 +220,12 @@ exports.cssStyles=function cssStyles(pCSSFiles_a, pImgConvertToBase64_b){
return true;
};
/* функция сжимает css-стили
* и сохраняет их с именем .min.css
/* функция сжимает html файлы
* и сохраняет их с именем .min.html
* @pHTMLFiles_a - массим имен html
* файлов, или строка если имя одно
*/
exports.html=function(){
exports.html=function(pHTMLFiles_a){
'use strict';
/* connecting cleanCSS,
@ -242,9 +242,9 @@ exports.html=function(){
'https://github.com/kangax/html-minifier');
return false;
}
/* Константы */
var INDEX_HTML='index.html';
if(typeof pHTMLFiles_a === "string")
pHTMLFiles_a=[pHTMLFiles_a];
var dataReaded_f=function(pFileName, pData){
console.log('file ' + pFileName + ' readed');
@ -287,8 +287,12 @@ exports.html=function(){
fs.writeFile(minFileName, final_code, fileWrited(minFileName));
};
console.log('reading file ' + INDEX_HTML+'...');
fs.readFile(INDEX_HTML,fileReaded(INDEX_HTML,dataReaded_f));
/* moving thru all elements of css files array */
for(var i=0;pHTMLFiles_a[i];i++){
console.log('reading file ' + pHTMLFiles_a[i]+'...');
fs.readFile(pHTMLFiles_a[i],fileReaded(pHTMLFiles_a[i],dataReaded_f));
}
return true;
};

View file

@ -58,7 +58,6 @@ var CloudServer={
/* КОНСТАНТЫ */
/* index.html */
INDEX :'index.html',
/* name of direcotory with libs */
LIBDIR :'./lib',
LIBDIRSERVER :'./lib/server',
CSSDIR :'./css',
@ -163,7 +162,7 @@ CloudServer.Minify={
:false;
this.done.html=this._allowed.html?
lMinify.html():false;
lMinify.html(CloudServer.INDEX):false;
this.done.css=this._allowed.css?
lMinify.cssStyles([CloudServer.CSSDIR + '/style.css',
@ -742,8 +741,8 @@ CloudServer.writeLogsToFile = function(){
process.stdout.write = (function(write) {
return function(string, encoding, fd) {
stdo.write(string);
}
})(process.stdout.write)
}
};
})(process.stdout.write);
};
CloudServer.start();