Merge branch 'develop'
84
README.md
@ -1,31 +1,26 @@
|
||||
# h5ai
|
||||
**a modern HTTP web server index for Apache httpd, lighttpd, nginx and Cherokee**
|
||||
|
||||
**h5ai** is a modern HTTP web server index for Apache httpd, lighttpd, nginx and Cherokee.
|
||||
The preferred way to report a bug or make a feature request is to
|
||||
create [a new issue](http://github.com/lrsjng/h5ai/issues/new) on GitHub!
|
||||
create [a new issue](https://github.com/lrsjng/h5ai/issues/new) on GitHub!
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
( **note:** please don't use files from the `src` folder for installation,
|
||||
they need to be preprocessed to work correctly )
|
||||
|
||||
**Note:** please don't use files from the `src` folder for installation,
|
||||
they need to be preprocessed to work correctly!
|
||||
You'll find a preprocessed package, as well as detailed installation
|
||||
instructions on the [project page](http://larsjung.de/h5ai/).
|
||||
|
||||
|
||||
## Build
|
||||
|
||||
( there are repositories for the latest [releases](http://release.larsjung.de/h5ai/) and [dev builds](http://release.larsjung.de/h5ai/dev/) )
|
||||
|
||||
If you want to build **h5ai** yourself you need to install the build tool [fQuery](http://larsjung.de/fquery/) first:
|
||||
There are repositories for the latest [releases](http://release.larsjung.de/h5ai/) and [dev builds](http://release.larsjung.de/h5ai/dev/).
|
||||
But if you want to build **h5ai** yourself you need to install the build tool [fQuery](http://larsjung.de/fquery/) first:
|
||||
|
||||
> npm install -g fquery
|
||||
|
||||
This will install fQuery and its command line tool `makejs`. Run `makejs --help` to see if everything
|
||||
worked fine.
|
||||
|
||||
To clone and build the project run the following commands.
|
||||
worked fine. To clone and build the project run the following commands.
|
||||
You'll find a new directory `build` including a fresh zipball.
|
||||
|
||||
> git clone git://github.com/lrsjng/h5ai.git
|
||||
@ -35,7 +30,7 @@ You'll find a new directory `build` including a fresh zipball.
|
||||
|
||||
## License
|
||||
|
||||
**h5ai** is provided under the terms of the [MIT License](http://github.com/lrsjng/h5ai/blob/develop/LICENSE.md).
|
||||
**h5ai** is provided under the terms of the [MIT License](https://github.com/lrsjng/h5ai/blob/develop/LICENSE.md).
|
||||
|
||||
It profits from these great projects:
|
||||
[Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228) (GPL),
|
||||
@ -44,10 +39,10 @@ It profits from these great projects:
|
||||
[jQuery](http://jquery.com) (MIT),
|
||||
[jQuery.filedrop](http://www.github.com/weixiyen/jquery-filedrop) (MIT),
|
||||
[jQuery.fracs](http://larsjung.de/fracs/) (MIT),
|
||||
[jQuery.mousewheel](http://github.com/brandonaaron/jquery-mousewheel) (MIT),
|
||||
[jQuery.mousewheel](https://github.com/brandonaaron/jquery-mousewheel) (MIT),
|
||||
[jQuery.qrcode](http://larsjung.de/qrcode/) (MIT),
|
||||
[jQuery.scrollpanel](http://larsjung.de/scrollpanel/) (MIT),
|
||||
[markdown-js](http://github.com/evilstreak/markdown-js) (MIT),
|
||||
[markdown-js](https://github.com/evilstreak/markdown-js) (MIT),
|
||||
[Modernizr](http://www.modernizr.com) (MIT/BSD),
|
||||
[modulejs](http://larsjung.de/modulejs/) (MIT),
|
||||
[Moment.js](http://momentjs.com) (MIT),
|
||||
@ -56,7 +51,26 @@ It profits from these great projects:
|
||||
|
||||
|
||||
## Changelog
|
||||
( **h5ai** uses [semantic versioning](http://semver.org/) )
|
||||
**h5ai** uses [semantic versioning](http://semver.org/).
|
||||
|
||||
|
||||
### v0.24.0 - *2013-09-04*
|
||||
|
||||
* updates image and text preview
|
||||
* adds variable icon sizes
|
||||
* adds optional natural sort of items
|
||||
* adds optional checkboxes to select items
|
||||
* adds text preview modes: none, fixed, markdown
|
||||
* optionally hide folders in main view
|
||||
* makes use of EXIF thumbnails optional
|
||||
* fixes file deletion of multiple files
|
||||
* fixes `setParentFolderLabels = false`
|
||||
* fixes shell-arg and RegExp escape issues
|
||||
* cleans code
|
||||
* updates info page `/_h5ai`
|
||||
* adds `aiff` to `audio` types
|
||||
* adds `da` translation by Ronnie Milbo
|
||||
* updates to `pl` translation by Mark
|
||||
|
||||
|
||||
### v0.23.0 - *2013-07-21*
|
||||
@ -127,11 +141,11 @@ It profits from these great projects:
|
||||
* improves filter (now ignorecase, now only checks if chars in right order)
|
||||
* adds keyboard support to image preview (space, enter, backspace, left, right, up, down, f, esc)
|
||||
* adds text file preview and highlighting with [SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/) (same keys as img preview)
|
||||
* adds Markdown preview with [markdown-js](http://github.com/evilstreak/markdown-js)
|
||||
* adds Markdown preview with [markdown-js](https://github.com/evilstreak/markdown-js)
|
||||
* adds new type `markdown`
|
||||
* changes language code `gr` to `el`
|
||||
* adds localization for filter placeholder
|
||||
* adds `hu` translation by [Rodolffo](http://github.com/Rodolffo)
|
||||
* adds `hu` translation by [Rodolffo](https://github.com/Rodolffo)
|
||||
* updates to [jQuery.qrcode](http://larsjung.de/qrcode/) 0.2
|
||||
* updates to [jQuery.scrollpanel](http://larsjung.de/scrollpanel/) 0.1
|
||||
* updates to [modulejs](http://larsjung.de/modulejs/) 0.2
|
||||
@ -168,13 +182,13 @@ It profits from these great projects:
|
||||
* adds `index.php` to use h5ai in non-Apache environments
|
||||
* switches from [Datejs](http://www.datejs.com) to [Moment.js](http://momentjs.com)
|
||||
* adds [underscore.js](http://underscorejs.org)
|
||||
* fixes mousewheel problems, updates [jQuery.mousewheel](http://github.com/brandonaaron/jquery-mousewheel) to 3.0.6
|
||||
* fixes mousewheel problems, updates [jQuery.mousewheel](https://github.com/brandonaaron/jquery-mousewheel) to 3.0.6
|
||||
* updates `lv` translation
|
||||
* adds `ro` translation by [Jakob Cosoroabă](http://github.com/midday)
|
||||
* adds `ja` translation by [metasta](http://github.com/metasta)
|
||||
* adds `nb` translation by [Sindre Sorhus](http://github.com/sindresorhus)
|
||||
* adds `sr` translation by [vBm](http://github.com/vBm)
|
||||
* adds `gr` translation by [xhmikosr](http://github.com/xhmikosr)
|
||||
* adds `ro` translation by [Jakob Cosoroabă](https://github.com/midday)
|
||||
* adds `ja` translation by [metasta](https://github.com/metasta)
|
||||
* adds `nb` translation by [Sindre Sorhus](https://github.com/sindresorhus)
|
||||
* adds `sr` translation by [vBm](https://github.com/vBm)
|
||||
* adds `gr` translation by [xhmikosr](https://github.com/xhmikosr)
|
||||
|
||||
|
||||
### v0.18 - *2012-02-24*
|
||||
@ -194,7 +208,7 @@ It profits from these great projects:
|
||||
* improves url hashes
|
||||
* updates year in `LICENSE.TXT`
|
||||
* updates es translation
|
||||
* adds `zh-tw` translation by [Yao Wei](http://github.com/medicalwei)
|
||||
* adds `zh-tw` translation by [Yao Wei](https://github.com/medicalwei)
|
||||
* updates `zh-cn` translation
|
||||
|
||||
|
||||
@ -230,7 +244,7 @@ It profits from these great projects:
|
||||
|
||||
### v0.15.2 - *2011-09-18*
|
||||
|
||||
* adds `it` translation by [Salvo Gentile](http://github.com/SalvoGentile) and [Marco Patriarca](http://github.com/Fexys)
|
||||
* adds `it` translation by [Salvo Gentile](https://github.com/SalvoGentile) and [Marco Patriarca](https://github.com/Fexys)
|
||||
* switches build process from scripp to wepp
|
||||
|
||||
|
||||
@ -249,7 +263,7 @@ It profits from these great projects:
|
||||
### v0.14.1 - *2011-09-01*
|
||||
|
||||
* display meta information in bottom bar (icon view)
|
||||
* adds `zh-cn` translation by [Dongsheng Cai](http://github.com/dongsheng)
|
||||
* adds `zh-cn` translation by [Dongsheng Cai](https://github.com/dongsheng)
|
||||
* adds `pl` translation by Radosław Zając
|
||||
* adds `ru` translation by Богдан Илюхин
|
||||
|
||||
@ -283,13 +297,13 @@ It profits from these great projects:
|
||||
* changes value of option `lang` from `undefined` to `null`
|
||||
* adds some new keys to `h5aiLangs`
|
||||
* adds browser caching rules for css and js
|
||||
* adds `pt` translation by [Jonnathan](http://github.com/jonnsl)
|
||||
* adds `pt` translation by [Jonnathan](https://github.com/jonnsl)
|
||||
* adds `bg` translation by George Andonov
|
||||
|
||||
|
||||
### v0.12.3 - *2011-07-30*
|
||||
|
||||
* adds `tr` translation by [Batuhan Icoz](http://github.com/batuhanicoz)
|
||||
* adds `tr` translation by [Batuhan Icoz](https://github.com/batuhanicoz)
|
||||
|
||||
|
||||
### v0.12.2 - *2011-07-30*
|
||||
@ -325,9 +339,9 @@ It profits from these great projects:
|
||||
### v0.10 - *2011-07-24*
|
||||
|
||||
* fixes problems with XAMPP on Windows (see `dot.htaccess` comments for instructions)
|
||||
* fixes tree fade-in-fade-out effect for small displays ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
|
||||
* adds custom scrollbar to tree ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
|
||||
* fixes broken links caused by URI encoding/decoding ([issue #9](http://github.com/lrsjng/h5ai/issues/9))
|
||||
* fixes tree fade-in-fade-out effect for small displays ([issue #6](https://github.com/lrsjng/h5ai/issues/6))
|
||||
* adds custom scrollbar to tree ([issue #6](https://github.com/lrsjng/h5ai/issues/6))
|
||||
* fixes broken links caused by URI encoding/decoding ([issue #9](https://github.com/lrsjng/h5ai/issues/9))
|
||||
* adds "empty" to localization (hope Google Translate did a good job here)
|
||||
|
||||
|
||||
@ -337,8 +351,8 @@ It profits from these great projects:
|
||||
* fixes size of tree view (now there's a ugly scrollbar, hopefully will be fixed)
|
||||
* refactores js to improve performance and cleaned code
|
||||
* adds caching for folder status codes and content
|
||||
* adds `fr` translation by [Nicolas](http://github.com/Nicosmos)
|
||||
* adds `nl` translation by [Stefan de Konink](http://github.com/skinkie)
|
||||
* adds `fr` translation by [Nicolas](https://github.com/Nicosmos)
|
||||
* adds `nl` translation by [Stefan de Konink](https://github.com/skinkie)
|
||||
* adds `sv` translation by Oscar Carlsson
|
||||
|
||||
|
||||
@ -426,7 +440,7 @@ It profits from these great projects:
|
||||
### v0.2.2 - *2011-06-16*
|
||||
|
||||
* refactores a lot, adds some comments
|
||||
* includes fixes from [NumEricR](http://github.com/NumEricR)
|
||||
* includes fixes from [NumEricR](https://github.com/NumEricR)
|
||||
* adds top/bottom message support, only basicly styled
|
||||
|
||||
|
||||
|
135
makefile.js
@ -2,82 +2,49 @@
|
||||
'use strict';
|
||||
|
||||
|
||||
var path = require('path'),
|
||||
|
||||
pkg = require('./package.json'),
|
||||
|
||||
root = path.resolve(__dirname),
|
||||
src = path.join(root, 'src'),
|
||||
build = path.join(root, 'build'),
|
||||
|
||||
jshint = {
|
||||
// Enforcing Options
|
||||
bitwise: true,
|
||||
curly: true,
|
||||
eqeqeq: true,
|
||||
forin: true,
|
||||
latedef: true,
|
||||
newcap: true,
|
||||
noempty: true,
|
||||
plusplus: true,
|
||||
trailing: true,
|
||||
undef: true,
|
||||
|
||||
// Environments
|
||||
browser: true,
|
||||
|
||||
// Globals
|
||||
predef: [
|
||||
'modulejs'
|
||||
]
|
||||
},
|
||||
|
||||
handlebarsEnv = {
|
||||
pkg: pkg
|
||||
},
|
||||
|
||||
mapSrc = function (blob) {
|
||||
|
||||
return blob.source.replace(src, build).replace(/\.less$/, '.css').replace(/\.jade$/, '');
|
||||
},
|
||||
|
||||
mapRoot = function (blob) {
|
||||
|
||||
return blob.source.replace(root, path.join(build, '_h5ai'));
|
||||
};
|
||||
|
||||
|
||||
module.exports = function (make) {
|
||||
|
||||
var Event = make.Event,
|
||||
var path = require('path'),
|
||||
|
||||
pkg = require('./package.json'),
|
||||
|
||||
root = path.resolve(__dirname),
|
||||
src = path.join(root, 'src'),
|
||||
build = path.join(root, 'build'),
|
||||
|
||||
$ = make.fQuery,
|
||||
moment = make.moment;
|
||||
mapSrc = $.map.p(src, build).s('.less', '.css').s('.jade', ''),
|
||||
mapRoot = $.map.p(root, build);
|
||||
|
||||
|
||||
make.version('>=0.8.1');
|
||||
make.version('>=0.10.0');
|
||||
make.defaults('build');
|
||||
|
||||
|
||||
make.before(function () {
|
||||
|
||||
handlebarsEnv.stamp = moment().format('YYYY-MM-DD HH:mm:ss');
|
||||
var moment = make.moment();
|
||||
|
||||
make.env = {
|
||||
pkg: pkg,
|
||||
stamp: moment.format('YYYY-MM-DD HH:mm:ss')
|
||||
};
|
||||
|
||||
$.info({ method: 'before', message: pkg.version + ' ' + make.env.stamp });
|
||||
});
|
||||
|
||||
|
||||
make.target('check-version', [], 'add git info to dev builds').async(function (done, fail) {
|
||||
|
||||
if (!/-dev$/.test(pkg.version)) {
|
||||
if (!/\+$/.test(pkg.version)) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
|
||||
$.git(root, function (err, result) {
|
||||
|
||||
pkg.version += '-' + result.revListOriginMasterHead.length + '-' + result.revParseHead.slice(0, 7);
|
||||
Event.info({
|
||||
method: 'check-version',
|
||||
message: 'version set to ' + pkg.version
|
||||
});
|
||||
pkg.version += result.buildSuffix;
|
||||
$.info({ method: 'check-version', message: 'version set to ' + pkg.version });
|
||||
done();
|
||||
});
|
||||
});
|
||||
@ -85,45 +52,67 @@ module.exports = function (make) {
|
||||
|
||||
make.target('clean', [], 'delete build folder').sync(function () {
|
||||
|
||||
$.rmfr($.I_AM_SURE, build);
|
||||
$.DELETE(build);
|
||||
});
|
||||
|
||||
|
||||
make.target('lint', [], 'lint all JavaScript files with JSHint').sync(function () {
|
||||
|
||||
var jshint = {
|
||||
// Enforcing Options
|
||||
bitwise: true,
|
||||
curly: true,
|
||||
eqeqeq: true,
|
||||
forin: true,
|
||||
latedef: true,
|
||||
newcap: true,
|
||||
noempty: true,
|
||||
plusplus: true,
|
||||
trailing: true,
|
||||
undef: true,
|
||||
|
||||
// Environments
|
||||
browser: true
|
||||
},
|
||||
globals = {
|
||||
'modulejs': true
|
||||
};
|
||||
|
||||
$(src + '/_h5ai/client/js: **/*.js, ! lib/**')
|
||||
.jshint(jshint);
|
||||
.jshint(jshint, globals);
|
||||
});
|
||||
|
||||
|
||||
make.target('build', ['check-version'], 'build all updated files').sync(function () {
|
||||
|
||||
var header = '/* ' + pkg.name + ' ' + pkg.version + ' - ' + pkg.url + ' */';
|
||||
|
||||
$(src + ': _h5ai/client/js/*.js')
|
||||
.modified(mapSrc, $(src + ': _h5ai/client/js/**'))
|
||||
.includify()
|
||||
.uglifyjs()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.uglifyjs({header: header})
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': _h5ai/client/css/*.less')
|
||||
.modified(mapSrc, $(src + ': _h5ai/client/css/**'))
|
||||
.less()
|
||||
.cssmin()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.cssmin({header: header})
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': **/*.jade')
|
||||
.modified(mapSrc)
|
||||
.handlebars(handlebarsEnv)
|
||||
.handlebars(make.env)
|
||||
.jade()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': **, ! _h5ai/client/js/**, ! _h5ai/client/css/**, ! **/*.jade')
|
||||
.modified(mapSrc)
|
||||
.handlebars(handlebarsEnv)
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.handlebars(make.env)
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(root + ': README*, LICENSE*')
|
||||
.modified(mapRoot)
|
||||
.write($.OVERWRITE, mapRoot);
|
||||
.WRITE(mapRoot);
|
||||
});
|
||||
|
||||
|
||||
@ -133,28 +122,28 @@ module.exports = function (make) {
|
||||
.modified(mapSrc, $(src + ': _h5ai/client/js/**'))
|
||||
.includify()
|
||||
// .uglifyjs()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': _h5ai/client/css/*.less')
|
||||
.modified(mapSrc, $(src + ': _h5ai/client/css/**'))
|
||||
.less()
|
||||
// .cssmin()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': **/*.jade')
|
||||
.modified(mapSrc)
|
||||
.handlebars(handlebarsEnv)
|
||||
.handlebars(make.env)
|
||||
.jade()
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(src + ': **, ! _h5ai/client/js/**, ! _h5ai/client/css/**, ! **/*.jade')
|
||||
.modified(mapSrc)
|
||||
.handlebars(handlebarsEnv)
|
||||
.write($.OVERWRITE, mapSrc);
|
||||
.handlebars(make.env)
|
||||
.WRITE(mapSrc);
|
||||
|
||||
$(root + ': README*, LICENSE*')
|
||||
.modified(mapRoot)
|
||||
.write($.OVERWRITE, mapRoot);
|
||||
.WRITE(mapRoot);
|
||||
});
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "h5ai",
|
||||
"version": "0.23.0",
|
||||
"version": "0.24.0",
|
||||
"description": "a modern HTTP web server index",
|
||||
"url": "http://larsjung.de/h5ai/",
|
||||
"author": "Lars Jung",
|
||||
|
@ -7,10 +7,8 @@
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
padding: 6px 0 8px 0;
|
||||
// .vert-gradient(rgb(241,241,241), rgb(228,228,228));
|
||||
background-color: @col-widget-back;
|
||||
border-top: @border-widget;
|
||||
// .box-shadow(0 -2px 4px 0 rgba(0, 0, 0, 0.15);
|
||||
|
||||
color: #999;
|
||||
text-align: center;
|
||||
@ -46,7 +44,6 @@
|
||||
margin-left: 16px;
|
||||
}
|
||||
.noBrowserMsg {
|
||||
display: none;
|
||||
color: @col-error;
|
||||
margin-left: 16px;
|
||||
a, a:active, a:visited {
|
||||
|
@ -2,7 +2,7 @@
|
||||
#content {
|
||||
max-width: 960px;
|
||||
margin: 50px auto;
|
||||
font-size: 16px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
#content-header, #content-footer {
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
#content {
|
||||
border: 1px dashed #fff;
|
||||
.border-radius(8px);
|
||||
border-radius: 8px;
|
||||
.transition(border-color 0.2s ease-in-out);
|
||||
|
||||
&.hint {
|
||||
|
@ -54,14 +54,11 @@
|
||||
}
|
||||
}
|
||||
td:nth-child(1), th:nth-child(1) {
|
||||
text-align: center;
|
||||
width: 16px;
|
||||
color: #ccc;
|
||||
font-size: 0.9em;
|
||||
width: 24px;
|
||||
|
||||
img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
td:nth-child(2), th:nth-child(2) {
|
||||
|
@ -4,6 +4,7 @@
|
||||
@col-hover: rgb(29,119,194);
|
||||
@col-border: rgba(0,0,0,0.05);
|
||||
@col-border-strong: rgba(0,0,0,0.15);
|
||||
@col-border-stronger: rgba(0,0,0,0.3);
|
||||
|
||||
@col-error: rgb(204,51,51);
|
||||
|
||||
@ -16,41 +17,50 @@
|
||||
@col-widget-back-sel: rgba(255,255,255,0.8);
|
||||
@col-widget-sep: @col-border;
|
||||
|
||||
// @col-sb-back: rgb(210,210,210);
|
||||
// @col-sb-thumb: rgb(180,180,180);
|
||||
// @col-sb-thumb-active: rgb(150,150,150);
|
||||
@col-sb-back: rgba(0,0,0,0.08);
|
||||
@col-sb-thumb: rgba(0,0,0,0.15);
|
||||
@col-sb-thumb-active: rgba(0,0,0,0.25);
|
||||
|
||||
|
||||
@border-widget: 1px solid @col-border;
|
||||
@border-widget-sep: 1px solid @col-widget-sep;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@font-family: Ubuntu, sans-serif;
|
||||
@font-weight: 300;
|
||||
@font-family-mono: "Ubuntu Mono", monospace;
|
||||
|
||||
|
||||
html { overflow-y: auto; }
|
||||
::-moz-selection { background: #68A9FF; color: #fff; text-shadow: none; }
|
||||
::selection { background: #68A9FF; color: #fff; text-shadow: none; }
|
||||
|
||||
.transition (@transition) {
|
||||
-webkit-transition: @transition;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
.transform (@transform) {
|
||||
-webkit-transform: @transform;
|
||||
-ms-transform: @transform;
|
||||
transform: @transform;
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
html {
|
||||
min-height: 100%;
|
||||
overflow: auto;
|
||||
|
||||
&.js .noJsMsg {
|
||||
display: none;
|
||||
}
|
||||
&.browser .noBrowserMsg {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: @font-family;
|
||||
// font-weight: 400;
|
||||
font-size: 13px;
|
||||
font-weight: @font-weight;
|
||||
color: @col;
|
||||
background-color: @col-back;
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
html.js .hideOnJs, html.no-js .hideOnNoJs {
|
||||
display: none;
|
||||
}
|
||||
html.no-browser .noBrowserMsg {
|
||||
display: inline !important;
|
||||
}
|
||||
|
@ -32,15 +32,15 @@ body#h5ai-info {
|
||||
display: block;
|
||||
color: #aaa;
|
||||
|
||||
.value {
|
||||
margin-left: 0.5em;
|
||||
padding: 2px 4px;
|
||||
.border-radius(4px);
|
||||
font-family: @font-family-mono;
|
||||
letter-spacing: 0.1em;
|
||||
background-color: @col-widget-back;
|
||||
border: @border-widget;
|
||||
}
|
||||
}
|
||||
code {
|
||||
margin: 0 0.2em;
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
font-family: @font-family-mono;
|
||||
letter-spacing: 0.1em;
|
||||
background-color: @col-widget-back;
|
||||
border: @border-widget;
|
||||
}
|
||||
h1 {
|
||||
font-size: 3.6em;
|
||||
@ -70,7 +70,7 @@ body#h5ai-info {
|
||||
|
||||
.test-label {
|
||||
display: inline-block;
|
||||
width: 300px;
|
||||
width: 350px;
|
||||
}
|
||||
.test-result {
|
||||
display: inline-block;
|
||||
@ -90,7 +90,7 @@ body#h5ai-info {
|
||||
margin: 4px 0 12px 12px;
|
||||
font-size: 0.7em;
|
||||
color: #aaa;
|
||||
width: 310px;
|
||||
width: 350px;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,6 @@
|
||||
padding: 2px 6px 2px 6px;
|
||||
color: #fff;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
.border-radius(4px);
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -1,130 +1,18 @@
|
||||
|
||||
#pv-img-overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
.transition(background-color 0.3s ease-in-out);
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#pv-img-content, #pv-spinner {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
@check-white: #f8f8f8;
|
||||
@check-black: #e8e8e8;
|
||||
#pv-img-image {
|
||||
position: absolute;
|
||||
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
border: 2px solid #fff;
|
||||
.border-radius(4px);
|
||||
|
||||
background-color: @check-white;
|
||||
background-image:
|
||||
-webkit-linear-gradient(45deg, @check-black 25%, transparent 25%, transparent 75%, @check-black 75%, @check-black),
|
||||
-webkit-linear-gradient(45deg, @check-black 25%, transparent 25%, transparent 75%, @check-black 75%, @check-black);
|
||||
background-size: 60px 60px;
|
||||
background-position: 0 0, 30px 30px
|
||||
}
|
||||
|
||||
#pv-img-overlay.fullscreen {
|
||||
background-color: #111;
|
||||
|
||||
#pv-img-image {
|
||||
border: 0;
|
||||
.border-radius(0);
|
||||
}
|
||||
}
|
||||
|
||||
#pv-img-close {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-img-prev {
|
||||
position: fixed;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-img-next {
|
||||
position: fixed;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-img-buttons, #pv-img-topbuttons {
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
img {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
img + span, img + input {
|
||||
margin-left: 6px;
|
||||
}
|
||||
input {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.bar-label {
|
||||
display: block;
|
||||
color: #ccc;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 10px;
|
||||
opacity: 0.7;
|
||||
.transition(all 0.2s ease-in-out);
|
||||
}
|
||||
|
||||
.bar-highlight {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
@bar-sep-border: 1px solid rgba(255,255,255,0.08);
|
||||
|
||||
.bar-button {
|
||||
.bar-label;
|
||||
cursor: pointer;
|
||||
&:hover, &.hover {
|
||||
.bar-highlight;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float: left;
|
||||
border-right: @bar-sep-border;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float: right;
|
||||
border-left: @bar-sep-border;
|
||||
}
|
||||
}
|
||||
|
||||
#pv-img-bottombar {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
// .vert-gradient(rgb(27,27,27), rgb(14,14,14));
|
||||
background-color: rgb(27,27,27);
|
||||
border-top: 1px solid rgb(45,45,45);
|
||||
background-position: 0 0, 30px 30px;
|
||||
|
||||
box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
@ -1,35 +1,13 @@
|
||||
|
||||
#pv-txt-overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#pv-txt-content {
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 10px;
|
||||
background-color: #fff;
|
||||
border: 2px solid #fff;
|
||||
.border-radius(4px);
|
||||
text-align: left;
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#pv-txt-spinner {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
#pv-txt-text {
|
||||
max-width: 960px;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
padding: 8px;
|
||||
overflow: auto;
|
||||
|
||||
box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.3);
|
||||
|
||||
&.highlighted {
|
||||
word-break: break-all;
|
||||
@ -143,90 +121,3 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pv-txt-close {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-txt-prev {
|
||||
position: fixed;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-txt-next {
|
||||
position: fixed;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pv-txt-buttons, #pv-txt-topbuttons {
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
img {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
img + span, img + input {
|
||||
margin-left: 6px;
|
||||
}
|
||||
input {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.bar-label {
|
||||
display: block;
|
||||
color: #ccc;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 10px;
|
||||
opacity: 0.7;
|
||||
.transition(all 0.2s ease-in-out);
|
||||
}
|
||||
|
||||
.bar-highlight {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
@bar-sep-border: 1px solid rgba(255,255,255,0.05);
|
||||
|
||||
.bar-button {
|
||||
.bar-label;
|
||||
cursor: pointer;
|
||||
&:hover, &.hover {
|
||||
.bar-highlight;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float: left;
|
||||
border-right: @bar-sep-border;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float: right;
|
||||
border-left: @bar-sep-border;
|
||||
}
|
||||
}
|
||||
|
||||
#pv-txt-bottombar {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
.vert-gradient(rgb(27,27,27), rgb(14,14,14));
|
||||
border-top: 1px solid rgb(45,45,45);
|
||||
}
|
||||
|
166
src/_h5ai/client/css/inc/preview.less
Normal file
@ -0,0 +1,166 @@
|
||||
|
||||
#pv-overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
.transition(background-color 0.3s ease-in-out);
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#pv-overlay.fullscreen {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
#pv-content {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#pv-spinner {
|
||||
position: absolute;
|
||||
|
||||
img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: -50px -50px;
|
||||
}
|
||||
}
|
||||
|
||||
#pv-close-area {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 8px;
|
||||
cursor: pointer;
|
||||
|
||||
img {
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
border-radius: 8px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
&:hover, &.hover {
|
||||
img {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pv-prev-area, #pv-next-area {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
cursor: pointer;
|
||||
|
||||
img {
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
border-radius: 8px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin: -72px 0;
|
||||
padding: 48px 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
&:hover, &.hover {
|
||||
img {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pv-prev-area {
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
#pv-next-area {
|
||||
right: 8px;
|
||||
}
|
||||
|
||||
#pv-buttons {
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
img {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
img + span, img + input {
|
||||
margin-left: 6px;
|
||||
}
|
||||
input {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.bar-label {
|
||||
display: block;
|
||||
color: #ccc;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 10px;
|
||||
opacity: 0.7;
|
||||
.transition(all 0.2s ease-in-out);
|
||||
}
|
||||
|
||||
.bar-highlight {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
@bar-sep-border: 1px solid rgba(255,255,255,0.08);
|
||||
|
||||
.bar-button {
|
||||
.bar-label;
|
||||
cursor: pointer;
|
||||
&:hover, &.hover {
|
||||
.bar-highlight;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float: left;
|
||||
border-right: @bar-sep-border;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float: right;
|
||||
border-left: @bar-sep-border;
|
||||
}
|
||||
}
|
||||
|
||||
#pv-bottombar {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background-color: rgb(27,27,27);
|
||||
border-top: 1px solid rgb(45,45,45);
|
||||
|
||||
}
|
||||
|
||||
#pv-overlay.fullscreen {
|
||||
|
||||
#pv-bottombar {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 700px) {
|
||||
#pv-prev-area, #pv-next-area, #pv-close-area {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
@ -11,9 +11,9 @@
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
#view.view-details, #view.view-list {
|
||||
#view.view-details {
|
||||
.header .label, .item .label {
|
||||
margin-right: 110px;
|
||||
margin-right: 80px !important;
|
||||
}
|
||||
.header .date, .item .date {
|
||||
display: none;
|
||||
|
@ -6,10 +6,8 @@
|
||||
min-height: 30px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
// .vert-gradient(rgb(241,241,241), rgb(228,228,228));
|
||||
background-color: @col-widget-back;
|
||||
border-bottom: @border-widget;
|
||||
// .box-shadow(0 2px 4px 0 rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
|
||||
|
@ -12,15 +12,12 @@
|
||||
border-right: @border-widget;
|
||||
|
||||
.sp-scrollbar {
|
||||
// margin: 8px 8px 8px 0;
|
||||
width: 6px;
|
||||
background-color: @col-sb-back;
|
||||
// .border-radius(3px);
|
||||
cursor: pointer;
|
||||
|
||||
.sp-thumb {
|
||||
background-color: @col-sb-thumb;
|
||||
// .border-radius(3px);
|
||||
}
|
||||
&.active .sp-thumb {
|
||||
background-color: @col-sb-thumb-active;
|
||||
@ -63,14 +60,13 @@
|
||||
padding: 4px 6px;
|
||||
color: #555;
|
||||
border: 1px solid rgba(0,0,0,0);
|
||||
.border-radius(3px);
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
opacity: 0.7;
|
||||
|
||||
&:hover, &.hover {
|
||||
color: @col-hover;
|
||||
background-color: @col-widget-back-hover;
|
||||
// border-color: rgba(0,0,0,0.05);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
@ -10,8 +10,8 @@
|
||||
&.item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
border-top: 1px solid @item-border-col-sep;
|
||||
border-bottom: 1px solid @item-border-col-sep;
|
||||
height: @icon-size + 6px;
|
||||
|
||||
&:hover, &.hover {
|
||||
border-color: @item-border-col-hover;
|
||||
@ -19,28 +19,29 @@
|
||||
}
|
||||
|
||||
// needs to be here, to not conflict with header fields
|
||||
.icon, .label, .date, .size {
|
||||
padding: 8px 6px;
|
||||
.icon {
|
||||
padding: 8px;
|
||||
}
|
||||
.label, .date, .size {
|
||||
padding: ((@icon-size - 16px)/2) 8px;
|
||||
}
|
||||
}
|
||||
|
||||
&.item + .item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.small {
|
||||
.icon.square {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: -2px;
|
||||
width: 16px;
|
||||
top: -4px;
|
||||
width: @icon-size;
|
||||
|
||||
img {
|
||||
width: @icon-size;
|
||||
height: @icon-size;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin: 0 270px 0 24px;
|
||||
margin: 0 230px 0 (@icon-size + 16px);
|
||||
}
|
||||
|
||||
.date {
|
||||
@ -54,5 +55,67 @@
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.selector {
|
||||
margin-top: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.view-details-sized(@size) {
|
||||
|
||||
li {
|
||||
|
||||
&.item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
height: @size + 6px;
|
||||
}
|
||||
|
||||
.label, .date, .size {
|
||||
padding: ((@size - 16px)/2) 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.square {
|
||||
width: @size;
|
||||
|
||||
img {
|
||||
width: @size;
|
||||
height: @size;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin: 0 230px 0 (@size + 16px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#view.view-details {
|
||||
&.size-16 {
|
||||
.view-details-sized(16px)
|
||||
}
|
||||
|
||||
&.size-24 {
|
||||
.view-details-sized(24px)
|
||||
}
|
||||
|
||||
&.size-32 {
|
||||
.view-details-sized(32px)
|
||||
}
|
||||
|
||||
&.size-48 {
|
||||
.view-details-sized(48px)
|
||||
}
|
||||
|
||||
&.size-64 {
|
||||
.view-details-sized(64px)
|
||||
}
|
||||
|
||||
&.size-96 {
|
||||
.view-details-sized(96px)
|
||||
}
|
||||
}
|
||||
|
@ -5,33 +5,43 @@
|
||||
|
||||
&.item {
|
||||
float: left;
|
||||
margin: 2px;
|
||||
|
||||
a, a:active, a:visited {
|
||||
float: left;
|
||||
margin: 2px;
|
||||
padding: 8px;
|
||||
width: 164px;
|
||||
height: 24px;
|
||||
width: @icon-size + 182px;
|
||||
height: @icon-size + 6px;
|
||||
border: 1px solid rgba(0,0,0,0);
|
||||
|
||||
&:hover, &.hover {
|
||||
border-color: @item-border-col-hover;
|
||||
}
|
||||
}
|
||||
|
||||
// needs to be here, to not conflict with header fields
|
||||
.icon {
|
||||
padding: 8px;
|
||||
}
|
||||
.label, .date, .size {
|
||||
padding: ((@icon-size - 16px)/2) 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.small {
|
||||
.icon.square {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 11px;
|
||||
top: 9px;
|
||||
width: 16px;
|
||||
left: 0;
|
||||
top: -4px;
|
||||
width: @icon-size;
|
||||
|
||||
img {
|
||||
width: @icon-size;
|
||||
height: @icon-size;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
display: block;
|
||||
max-width: 140px;
|
||||
margin: 0 0 0 24px;
|
||||
margin: 0 0 0 (@icon-size + 8px);
|
||||
}
|
||||
|
||||
.date, .size {
|
||||
@ -39,3 +49,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.view-grid-sized(@size) {
|
||||
|
||||
li {
|
||||
|
||||
&.item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
width: @size + 182px;
|
||||
height: @size + 6px;
|
||||
}
|
||||
|
||||
.label, .date, .size {
|
||||
padding: ((@size - 16px)/2) 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.square {
|
||||
width: @size;
|
||||
|
||||
img {
|
||||
width: @size;
|
||||
height: @size;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin: 0 0 0 (@size + 8px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#view.view-grid {
|
||||
&.size-16 {
|
||||
.view-grid-sized(16px)
|
||||
}
|
||||
|
||||
&.size-24 {
|
||||
.view-grid-sized(24px)
|
||||
}
|
||||
|
||||
&.size-32 {
|
||||
.view-grid-sized(32px)
|
||||
}
|
||||
|
||||
&.size-48 {
|
||||
.view-grid-sized(48px)
|
||||
}
|
||||
|
||||
&.size-64 {
|
||||
.view-grid-sized(64px)
|
||||
}
|
||||
|
||||
&.size-96 {
|
||||
.view-grid-sized(96px)
|
||||
}
|
||||
}
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
&.item {
|
||||
float: left;
|
||||
margin: 8px;
|
||||
|
||||
a, a:active, a:visited {
|
||||
float: left;
|
||||
margin: 8px;
|
||||
padding: 8px;
|
||||
width: 100px;
|
||||
height: 120px;
|
||||
min-width: 96px;
|
||||
width: @icon-size * 2;
|
||||
height: @icon-size + 72px;
|
||||
border: 1px solid rgba(0,0,0,0);
|
||||
|
||||
&:hover, &.hover {
|
||||
@ -21,10 +21,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
.icon.big {
|
||||
.icon.rational {
|
||||
display: block;
|
||||
height: 48px;
|
||||
height: @icon-size;
|
||||
margin-bottom: 6px;
|
||||
|
||||
img {
|
||||
max-width: @icon-size * 2;
|
||||
max-height: @icon-size;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
@ -44,3 +49,54 @@
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.view-icons-sized(@size) {
|
||||
|
||||
li {
|
||||
|
||||
&.item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
width: @size * 2;
|
||||
height: @size + 72px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.rational {
|
||||
height: @size;
|
||||
|
||||
img {
|
||||
max-width: @size * 2;
|
||||
max-height: @size;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#view.view-icons {
|
||||
&.size-16 {
|
||||
.view-icons-sized(16px)
|
||||
}
|
||||
|
||||
&.size-24 {
|
||||
.view-icons-sized(24px)
|
||||
}
|
||||
|
||||
&.size-32 {
|
||||
.view-icons-sized(32px)
|
||||
}
|
||||
|
||||
&.size-48 {
|
||||
.view-icons-sized(48px)
|
||||
}
|
||||
|
||||
&.size-64 {
|
||||
.view-icons-sized(64px)
|
||||
}
|
||||
|
||||
&.size-96 {
|
||||
.view-icons-sized(96px)
|
||||
}
|
||||
}
|
||||
|
@ -1,62 +0,0 @@
|
||||
|
||||
#view.view-list {
|
||||
|
||||
li {
|
||||
|
||||
&.header {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
&.item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
border-top: 1px solid @item-border-col-sep;
|
||||
border-bottom: 1px solid @item-border-col-sep;
|
||||
height: 60px;
|
||||
|
||||
&:hover, &.hover {
|
||||
border-color: @item-border-col-hover;
|
||||
}
|
||||
}
|
||||
|
||||
// needs to be here, to not conflict with header fields
|
||||
.icon {
|
||||
padding: 8px 6px;
|
||||
}
|
||||
.label, .date, .size {
|
||||
padding: 18px 6px;
|
||||
}
|
||||
}
|
||||
|
||||
&.item + .item {
|
||||
|
||||
a, a:active, a:visited {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
|
||||
.icon.big {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: -2px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.label {
|
||||
margin: 0 270px 0 110px;
|
||||
}
|
||||
|
||||
.date {
|
||||
position: absolute;
|
||||
right: 100px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.size {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,16 @@
|
||||
|
||||
|
||||
@item-border-col-sep: @col-border;
|
||||
|
||||
@item-background-col-hover: rgba(0,0,0,0.02);
|
||||
@item-border-col-hover: @col-border;
|
||||
|
||||
@item-background-col-sel: rgba(0,0,0,0.02);
|
||||
@item-border-col-sel: @col-border-strong;
|
||||
|
||||
@icon-size: 48px;
|
||||
|
||||
|
||||
#selection-rect {
|
||||
display: none;
|
||||
position: absolute;
|
||||
@ -9,15 +21,6 @@
|
||||
background-color: rgba(0,0,0,0.01);
|
||||
}
|
||||
|
||||
@item-border-col-sep: @col-border;
|
||||
|
||||
@item-background-col-hover: rgba(0,0,0,0.02);
|
||||
@item-border-col-hover: @col-border;
|
||||
|
||||
@item-background-col-sel: rgba(0,0,0,0.02);
|
||||
@item-border-col-sel: @col-border-strong;
|
||||
|
||||
|
||||
|
||||
#view {
|
||||
display: none;
|
||||
@ -70,24 +73,28 @@
|
||||
}
|
||||
|
||||
&.item {
|
||||
font-size: 15px;
|
||||
|
||||
a, a:active, a:visited {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
&:hover, &.hover {
|
||||
// color: #e80;
|
||||
color: @col-hover;
|
||||
background-color: @item-background-col-hover;
|
||||
border-color: @item-border-col-hover;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.selector {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.selected:not(.selecting), &.selecting:not(.selected) {
|
||||
|
||||
a, a:active, a:visited {
|
||||
// color: #000;
|
||||
// color: @col-hover;
|
||||
background-color: @item-background-col-sel;
|
||||
border-color: @item-border-col-sel;
|
||||
|
||||
@ -96,6 +103,15 @@
|
||||
border-color: @item-border-col-sel;
|
||||
}
|
||||
}
|
||||
|
||||
.selector {
|
||||
display: block;
|
||||
// border-color: @col-border-stronger;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +121,6 @@
|
||||
color: #aaa;
|
||||
|
||||
&:hover, &.hover {
|
||||
// color: #e80;
|
||||
color: @col-hover;
|
||||
}
|
||||
}
|
||||
@ -129,25 +144,10 @@
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
vertical-align: top;
|
||||
|
||||
&.thumb {
|
||||
.box-shadow(0 0 0 1px #ddd);
|
||||
}
|
||||
}
|
||||
|
||||
&.small {
|
||||
|
||||
img {
|
||||
max-width: 16px;
|
||||
max-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
&.big {
|
||||
|
||||
img {
|
||||
max-width: 100px;
|
||||
max-height: 48px;
|
||||
box-shadow: 0 0 0 1px #ddd;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -156,17 +156,41 @@
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.date {
|
||||
text-align: right;
|
||||
width: 160px;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.size {
|
||||
text-align: right;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.selector {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-color: #fff;
|
||||
border: 1px solid @col-border-strong;
|
||||
cursor: pointer;
|
||||
.transition(all 0.2s ease-in-out);
|
||||
|
||||
&:hover {
|
||||
border-color: @col-border-stronger;
|
||||
}
|
||||
|
||||
img {
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.empty, .no-match {
|
||||
|
@ -1,57 +0,0 @@
|
||||
|
||||
.border-radius (@radius) {
|
||||
-webkit-border-radius: @radius; /* Saf3-4, iOS 1-3.2, Android <1.6 */
|
||||
-moz-border-radius: @radius; /* FF1-3.6 */
|
||||
border-radius: @radius; /* Opera 10.5, IE9, Saf5, Chrome, FF4, iOS 4, Android 2.1+ */
|
||||
}
|
||||
|
||||
|
||||
.background-clip () {
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
|
||||
.box-shadow (@shadow) {
|
||||
-webkit-box-shadow: @shadow; /* Saf3-4 */
|
||||
-moz-box-shadow: @shadow; /* FF3.5 - 3.6 */
|
||||
box-shadow: @shadow; /* Opera 10.5, IE9, FF4+, Chrome 10+ */
|
||||
}
|
||||
|
||||
|
||||
.transition (@transition) {
|
||||
-webkit-transition: @transition; /* Saf3.2+, Chrome */
|
||||
-moz-transition: @transition; /* FF4+ */
|
||||
-ms-transition: @transition; /* IE10? */
|
||||
-o-transition: @transition; /* Opera 10.5+ */
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
|
||||
.transform (@transform) {
|
||||
-webkit-transform: @transform; /* Saf3.1+, Chrome */
|
||||
-moz-transform: @transform; /* FF3.5+ */
|
||||
-ms-transform: @transform; /* IE9 */
|
||||
-o-transform: @transform; /* Opera 10.5 */
|
||||
transform: @transform;
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
|
||||
.vert-gradient (@top, @bottom) {
|
||||
background-color: @top;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(@top), to(@bottom)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient(top, @top, @bottom); /* Chrome 10+, Saf5.1+, iOS 5+ */
|
||||
background-image: -moz-linear-gradient(top, @top, @bottom); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient(top, @top, @bottom); /* IE10 */
|
||||
background-image: -o-linear-gradient(top, @top, @bottom); /* Opera 11.10+ */
|
||||
background-image: linear-gradient(top, @top, @bottom);
|
||||
}
|
||||
|
||||
|
||||
.background-size (@size) {
|
||||
-webkit-background-size: @size; /* Saf3-4 */
|
||||
-moz-background-size: @size; /* FF3.6 */
|
||||
background-size: @size; /* Opera, IE9, Saf5, Chrome, FF4 */
|
||||
}
|
@ -2,8 +2,6 @@
|
||||
@import "lib/h5bp-normalize";
|
||||
@import "lib/h5bp-main-header";
|
||||
|
||||
@import "lib/mixins";
|
||||
|
||||
@import "inc/general";
|
||||
@import "inc/topbar";
|
||||
@import "inc/bottombar";
|
||||
@ -13,6 +11,7 @@
|
||||
@import "inc/l10n";
|
||||
@import "inc/tree";
|
||||
@import "inc/qrcode";
|
||||
@import "inc/preview";
|
||||
@import "inc/preview-img";
|
||||
@import "inc/preview-txt";
|
||||
@import "inc/notify";
|
||||
@ -21,7 +20,6 @@
|
||||
@import "inc/view";
|
||||
@import "inc/view-details";
|
||||
@import "inc/view-icons";
|
||||
@import "inc/view-list";
|
||||
@import "inc/view-grid";
|
||||
// @import "inc/context-menu";
|
||||
@import "inc/dropbox";
|
||||
|
Before Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 554 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 227 B |
Before Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 554 B |
Before Width: | Height: | Size: 506 B |
Before Width: | Height: | Size: 757 B |
Before Width: | Height: | Size: 699 B |
Before Width: | Height: | Size: 599 B |
Before Width: | Height: | Size: 592 B |
Before Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 586 B |
Before Width: | Height: | Size: 535 B |
Before Width: | Height: | Size: 679 B |
Before Width: | Height: | Size: 619 B |
Before Width: | Height: | Size: 846 B |
Before Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 621 B |
Before Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 255 B |
Before Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 504 B |
Before Width: | Height: | Size: 530 B |
Before Width: | Height: | Size: 770 B |
Before Width: | Height: | Size: 792 B |
Before Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 788 B |
Before Width: | Height: | Size: 658 B |
Before Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 614 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 614 B |
Before Width: | Height: | Size: 799 B |
Before Width: | Height: | Size: 757 B |
Before Width: | Height: | Size: 610 B |
Before Width: | Height: | Size: 679 B |
Before Width: | Height: | Size: 629 B |
Before Width: | Height: | Size: 817 B |
Before Width: | Height: | Size: 622 B |
Before Width: | Height: | Size: 743 B |
Before Width: | Height: | Size: 621 B |
Before Width: | Height: | Size: 781 B |
Before Width: | Height: | Size: 384 B |
Before Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 586 B |
Before Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 463 B |
Before Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 556 B |
Before Width: | Height: | Size: 556 B |
Before Width: | Height: | Size: 739 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 236 B |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.0 KiB |