From 9b4c2b97be9781f61da42ae81f390876c5d92475 Mon Sep 17 00:00:00 2001 From: node Date: Wed, 4 Jul 2012 19:58:22 +0000 Subject: [PATCH] all --- README.md | 9 ++++++--- client.js | 25 +++++++++++-------------- config.json | 9 +++++++++ css/reset.css | 2 +- css/style.css | 9 ++++++--- lib/client/keyBinding.js | 6 +++--- package.json | 10 ++-------- server.js | 30 ++++++++++++++++++++++-------- 8 files changed, 60 insertions(+), 40 deletions(-) create mode 100644 config.json diff --git a/README.md b/README.md index 62e574e6..fc55b9af 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Cloud Commander [![Build Status](https://secure.travis-ci.org/coderaiser/cloudcmd.png?branch=master)](http://travis-ci.org/coderaiser/cloudcmd) =============== **Cloud Commander** - two-panels file manager, totally writed on js. -View [demo](http://demo-cloudcmd.cloudfoundry.com/ "demo"). +View [demo](http://demo-cloudcmd.cloudfoundry.com/ "demo"), [mirror](http://cloudcmd.nodester.com/ "mirror"). Google PageSpeed Score : [100](https://developers.google.com/speed/pagespeed/insights#url=http_3A_2F_2Fdemo-cloudcmd.cloudfoundry.com_2F&mobile=false "score") (out of 100). @@ -38,7 +38,6 @@ There is a short list: - Alt + s - get all key bindings back - up, down, enter - filesystem navigation - Additional modules: --------------- **Cloud Commander** not using additional modules for main functionality. @@ -47,4 +46,8 @@ assingned (and installed) modules: - [UglifyJS] (https://github.com/mishoo/UglifyJS) - [clean-css] (https://github.com/GoalSmashers/clean-css) - [html-minifier] (https://github.com/kangax/html-minifier) -- [css-b64-images] (https://github.com/Filirom1/css-base64-images) \ No newline at end of file +- [css-b64-images] (https://github.com/Filirom1/css-base64-images) + +Install addtitional modules: + + npm i uglify-js clean-css html-minifier css-b64-images \ No newline at end of file diff --git a/client.js b/client.js index 36b58c2c..c5c669c3 100644 --- a/client.js +++ b/client.js @@ -169,7 +169,7 @@ CloudClient._loadDir=(function(pLink,pNeedRefresh){ /* получаем имя каталога в котором находимся*/ var lHref; try{ - lHref=lCurrentFile[0].parentElement.getElementsByClassName('path')[0].innerText; + lHref=lCurrentFile[0].parentElement.getElementsByClassName('path')[0].textContent; }catch(error){console.log('error');} lHref=CloudFunc.removeLastSlash(lHref); @@ -186,7 +186,7 @@ CloudClient._loadDir=(function(pLink,pNeedRefresh){ */ var lA=this.getElementsByTagName('a'); /* если нажали на ссылку на верхний каталог*/ - if(lA.length>0 && lA[0].innerText==='..' && + if(lA.length>0 && lA[0].textContent==='..' && lHref!=='/'){ /* функция устанавливает курсор на каталог * с которого мы пришли, если мы поднялись @@ -266,7 +266,7 @@ CloudClient._currentToParent = (function(pDirName){ var lLi=lPanel.getElementsByTagName('li'); for(var i=0;i0)lTitle[0].innerText='Cloud Commander'; + if(lTitle.length>0)lTitle[0].textContent='Cloud Commander'; /* загружаем jquery: */ CloudClient.jsload('//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',function(){ @@ -363,7 +363,7 @@ CloudClient.init=(function() CloudClient.cssSet({id:'show_2panels', element:document.head, - inner:'#left{width:45%;}' + inner:'#left{width:46%;}' }); }); @@ -638,11 +638,8 @@ CloudClient.cssSet = function(pParams_o){ */ CloudClient._getJSONfromFileTable=function() { - var lLeft=document.getElementById('left'); - - - //var lPath=document.getElementById('path').innerText; - var lPath=document.getElementsByClassName('path')[0].innerText; + var lLeft=document.getElementById('left'); + var lPath=document.getElementsByClassName('path')[0].textContent; var lFileTable=[{path:lPath,size:'dir'}]; var lLI=lLeft.getElementsByTagName('li'); @@ -660,10 +657,10 @@ CloudClient._getJSONfromFileTable=function() var lIsDir=lLI[i].getElementsByClassName('mini-icon')[0] .className.replace('mini-icon ','')==='directory'?true:false; - var lName=lLI[i].getElementsByClassName('name')[0].innerText; + var lName=lLI[i].getElementsByClassName('name')[0].textContent; /* если это папка - выводим слово dir вместо размера*/ - var lSize=lIsDir?'dir':lLI[i].getElementsByClassName('size')[0].innerText; - var lMode=lLI[i].getElementsByClassName('mode')[0].innerText; + var lSize=lIsDir?'dir':lLI[i].getElementsByClassName('size')[0].textContent; + var lMode=lLI[i].getElementsByClassName('mode')[0].textContent; /* переводим права доступа в цыфровой вид * для хранения в localStorage */ @@ -713,4 +710,4 @@ try{ CloudCommander.keyBinding(); }; } -catch(err){} +catch(err){} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 00000000..e1e4ae3b --- /dev/null +++ b/config.json @@ -0,0 +1,9 @@ +{ + "cache" : {"allowed" : true}, + "minification" : { + "js" : true, + "css" : true, + "html" : true, + "img" : true + } +} \ No newline at end of file diff --git a/css/reset.css b/css/reset.css index 23504a59..76f0a7eb 100644 --- a/css/reset.css +++ b/css/reset.css @@ -35,7 +35,7 @@ a:focus { outline: thin dotted; } /* Improve readability when focused and hovered in all browsers: h5bp.com/h */ a:hover, a:active { outline: 0; } -ul{ margin: 1em 0; padding: 0 0 0 40px; } +ul{ margin: 1em 0; padding: 0 20px 0 20px; } /* * 1. Display hand cursor for clickable form elements diff --git a/css/style.css b/css/style.css index 9e838c17..c2bca496 100644 --- a/css/style.css +++ b/css/style.css @@ -3,21 +3,24 @@ */ /* Foundation Icons General Enclosed */ +/* @font-face { font-family: 'FoundationIconsGeneralEnclosed'; src: url('//dl.dropbox.com/u/78163899/mnemonia/fonts/foundation-icons-general-enclosed.woff') format('woff'); font-weight: normal; font-style: normal; -} +} +*/ /* символьный шрифт от гитхаба*/ +/* @font-face { font-family: 'Octicons Regular'; font-style: normal; font-weight: normal; src: local('Octicons Regular'), url('//dl.dropbox.com/u/78163899/mnemonia/fonts/octicons-regular-webfont.woff') format('woff'); } - +*/ @font-face { font-family: 'Droid Sans Mono'; font-style: normal; @@ -160,7 +163,7 @@ background:url(/img/panel_refresh.png) 0 -15px no-repeat; } .panel{ display: table; - width:45%; + width:46%; } #keyspanel{ text-align: center; diff --git a/lib/client/keyBinding.js b/lib/client/keyBinding.js index 2416002e..a441671f 100644 --- a/lib/client/keyBinding.js +++ b/lib/client/keyBinding.js @@ -114,7 +114,7 @@ CloudCommander.keyBinding=(function(){ /* получаем имя каталога в котором находимся*/ var lHref; try{ - lHref=lCurrentFile.parentElement.getElementsByClassName('path')[0].innerText; + lHref=lCurrentFile.parentElement.getElementsByClassName('path')[0].textContent; }catch(error){console.log('error');} lHref=CloudFunc.removeLastSlash(lHref); var lSubstr=lHref.substr(lHref,lHref.lastIndexOf('/')); @@ -157,7 +157,7 @@ CloudCommander.keyBinding=(function(){ lCurrentFile=document.getElementsByClassName(CloudCommander.CURRENT_FILE); if(lCurrentFile.length>0)lCurrentFile=lCurrentFile[0]; /* получаем название файла*/ - var lSelectedName=lCurrentFile.getElementsByTagName('a')[0].innerText; + var lSelectedName=lCurrentFile.getElementsByTagName('a')[0].textContent; /* если нашли элемент нажимаем него * а если не можем - нажимаем на * ссылку, на которую повешен eventHandler @@ -179,7 +179,7 @@ CloudCommander.keyBinding=(function(){ * 1 - это заголовок файловой таблицы */ for(var i=2;i