diff --git a/lib/server/minify.js b/lib/server/minify.js index f761d438..c15fe766 100644 --- a/lib/server/minify.js +++ b/lib/server/minify.js @@ -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; }; diff --git a/server.js b/server.js index f3231a9c..74226864 100644 --- a/server.js +++ b/server.js @@ -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(); \ No newline at end of file