1
0
mirror of https://github.com/lrsjng/h5ai.git synced 2025-08-29 08:40:34 +02:00

Compare commits

..

151 Commits
v0.21 ... v0.22

Author SHA1 Message Date
Lars Jung
a23df9ffb8 Version 0.22 2012-10-14 18:38:34 +02:00
Lars Jung
ba911bd09c Merge branch 'develop' 2012-10-14 18:35:58 +02:00
Lars Jung
138fc4d43c Adds folderstatus extension for aai mode. Updates default options for upcoming release. 2012-10-14 18:32:25 +02:00
Lars Jung
57d6ef9520 Updates options and readme. 2012-10-14 02:30:01 +02:00
Lars Jung
ba793c27cb Updates readme. 2012-10-14 00:02:10 +02:00
Lars Jung
160fd8ecbf Improves download extension. Updates option docs. 2012-10-13 23:58:52 +02:00
Lars Jung
270956c10d Updates readme. 2012-10-13 21:37:06 +02:00
Lars Jung
17ad8d0632 Loads qrcode extension on demand now. 2012-10-13 21:30:41 +02:00
Lars Jung
787d37853b Removes amplify dependencies. 2012-10-13 18:46:54 +02:00
Lars Jung
906d83a3b0 Updates readme. 2012-10-13 15:36:04 +02:00
Lars Jung
bfd8f1b5e0 Updates readme. 2012-10-13 15:26:44 +02:00
Lars Jung
2029f020a3 Updates readme. 2012-10-13 15:23:30 +02:00
Lars Jung
84ad7e4ef9 Updates readme. 2012-10-13 03:09:00 +02:00
Lars Jung
e8c124a0cf Updates readme. 2012-10-13 02:54:51 +02:00
Lars Jung
af300036b4 Updates readme. 2012-10-13 02:31:08 +02:00
Lars Jung
a64630b387 Updates readme. 2012-10-13 02:26:31 +02:00
Lars Jung
3f91022cde Fixes fixed topbar height. 2012-10-12 20:05:27 +02:00
Lars Jung
840363badb Fixes minor refresh problem with single quotes. 2012-10-12 15:42:46 +02:00
Lars Jung
7be15da13a Fixes stat problems on 32bit systems. 2012-10-12 13:57:27 +02:00
Lars Jung
b87dc5a45b Removes a console.log. 2012-10-12 01:31:50 +02:00
Lars Jung
8658bac71a Refactors js. 2012-10-12 01:01:24 +02:00
Lars Jung
2cabbad0d6 Merge pull request #137 from XhmikosR/to-merge
updates Underscore.js to v1.4.2
2012-10-11 10:36:24 -07:00
Lars Jung
a8e0c049f2 Splits up type js into js and json. 2012-10-11 18:28:12 +02:00
Lars Jung
69ffcc2d32 More changes on init procedure. 2012-10-11 15:05:10 +02:00
Lars Jung
a087e96d69 More changes to init procedure and API. 2012-10-11 14:45:18 +02:00
Lars Jung
15dd200b28 Performance improvements in aai mode. Minor changes. 2012-10-11 00:37:08 +02:00
XhmikosR
aaa24df8a3 update Underscore.js to v1.4.2 2012-10-10 17:33:36 +03:00
Lars Jung
d7f1c68366 Switch to general API nearly done. 2012-10-10 16:05:50 +02:00
Lars Jung
a60d5556af Changes some API things. 2012-10-09 14:16:57 +02:00
Lars Jung
811994423d Changes API. 2012-10-08 01:16:02 +02:00
Lars Jung
d6c5696f96 More changes. Improves styles. 2012-10-07 21:31:13 +02:00
Lars Jung
cb9341451b Another partial commit. 2012-10-07 13:48:27 +02:00
Lars Jung
abb9b7bd0e More changes in js. 2012-10-07 02:40:50 +02:00
Lars Jung
318fefbbfd More refactorings. 2012-10-06 22:49:09 +02:00
Lars Jung
b8b6d32a33 More refactorings. 2012-10-06 20:08:59 +02:00
Lars Jung
bd65025a4c More PHP refactorings. 'cs' lang update. 2012-10-06 18:25:59 +02:00
Lars Jung
42cfe55ef3 Cleans and improves PHP code. 2012-10-06 16:50:43 +02:00
Lars Jung
c6a9374488 Removes folderstatus extension. 2012-10-06 15:10:04 +02:00
Lars Jung
029872a212 More PHP refactorings. Fixes text preview. 2012-10-06 14:29:24 +02:00
Lars Jung
838a346c29 Minor changes. 2012-10-06 01:17:11 +02:00
Lars Jung
e53f261c69 Removes temp dir references. 2012-10-05 21:27:27 +02:00
Lars Jung
f6832982bb Fixes index page. 2012-10-05 21:22:19 +02:00
Lars Jung
07d4eee151 Minor changes. 2012-10-05 20:29:37 +02:00
Lars Jung
59609aaee9 Fixes makefile. 2012-10-05 20:00:45 +02:00
Lars Jung
3c5a859f28 Fixes l10n after changes. 2012-10-05 19:59:06 +02:00
Lars Jung
c71f891af2 Cosmetics. 2012-10-05 19:55:48 +02:00
Lars Jung
7494491637 Updates script inclusions. 2012-10-05 15:23:45 +02:00
Lars Jung
e0fb8b3285 Merge pull request #126 from XhmikosR/jquery
update 3rd party libs
2012-10-05 06:20:02 -07:00
XhmikosR
ba2455a87f use the non minified js since they are minified when building h5ai 2012-10-04 19:48:59 +03:00
XhmikosR
6f80d345a8 update spin.js to v1.2.7 2012-10-04 19:48:58 +03:00
XhmikosR
8d7f7d68aa update moment.js to v1.7.2 2012-10-04 19:48:56 +03:00
XhmikosR
1b66788d96 update underscore.js to v1.4.1 2012-10-04 19:48:53 +03:00
XhmikosR
28b002dbee update jQuery to v1.8.2 2012-10-04 19:48:53 +03:00
Lars Jung
326b7f54e1 Updates readme. 2012-09-22 13:51:24 +02:00
Lars Jung
0a280e177b Combines scripts in head section. Shouldn't matter that much. 2012-09-22 13:40:04 +02:00
Lars Jung
f24747e92f Changes shortcut icon format to .ico ... guess why: IE 2012-09-22 01:29:56 +02:00
Lars Jung
ede2316f53 Cleans code. 2012-09-19 23:59:53 +02:00
Lars Jung
26d0de5985 Hopefully fixes date parsing in aai mode. 2012-09-19 20:56:54 +02:00
Lars Jung
df208faf25 Adds experimental support for local config files. 2012-09-19 14:47:52 +02:00
Lars Jung
bcc9f21fc1 Another test commit. Ignore. 2012-09-19 00:56:56 +02:00
Lars Jung
4169de4d6b Test. Just ignore this. 2012-09-19 00:43:48 +02:00
Lars Jung
bc4e1b349a Updates readme. 2012-09-18 21:59:03 +02:00
Lars Jung
8520658c34 Adds ctrl-click file selection. 2012-09-18 18:56:50 +02:00
Lars Jung
9545ec2894 More updates to readme. 2012-09-18 16:59:11 +02:00
Lars Jung
188d2825b1 Updates readme. 2012-09-18 16:46:48 +02:00
Lars Jung
c4084343dc Updates build process. 2012-09-18 16:30:17 +02:00
Lars Jung
3a0e620065 Cleans l10n. 2012-09-18 02:25:14 +02:00
Lars Jung
421d5c2e24 Fixes l10n in case it is disabled. 2012-09-18 02:14:21 +02:00
Lars Jung
4e6c446ce4 Fixes index page. 2012-09-18 01:29:22 +02:00
Lars Jung
b649cd1519 Cleans config to pure json. 2012-09-17 22:37:20 +02:00
Lars Jung
0e05e6d0a1 Fine tweaks to tree layout. 2012-09-17 22:17:05 +02:00
Lars Jung
5ae35ee763 Cleans css. 2012-09-17 00:09:51 +02:00
Lars Jung
6b5556f338 Cleans js. Fixes js. Updates ru translation. 2012-09-16 21:02:40 +02:00
Lars Jung
aa92ab9e83 Cleans js templates. 2012-09-16 17:14:42 +02:00
Lars Jung
01d152ede5 Merge pull request #116 from XhmikosR/upstream
update Greek translation
2012-09-16 07:05:57 -07:00
XhmikosR
1cbf46d2a5 update Greek translation 2012-09-16 16:56:24 +03:00
Lars Jung
53733ccdf5 Cleans styles. 2012-09-16 15:15:07 +02:00
Lars Jung
6245c4654c Fixes Apache mod_autoindex date parsing. 2012-09-16 01:50:15 +02:00
Lars Jung
1f3d501a04 Cleans CSS, adds new grid and list view, replaces small parent-folder icon. 2012-09-16 01:34:50 +02:00
Lars Jung
842bca74f9 Improves filter. Still problems with filter and preview. 2012-09-14 23:24:22 +02:00
Lars Jung
27c598d96e Adds optional binary prefixes. 2012-09-14 19:53:19 +02:00
Lars Jung
3cd11139a2 Minor changes. 2012-09-14 19:16:11 +02:00
Lars Jung
1aec23008e Fixes piwik-analytics extension. 2012-09-14 15:32:33 +02:00
Lars Jung
9d8552a272 Merge pull request #110 from BluePyth/piwik_analytics
Adds Piwik Analytics support
2012-09-14 04:48:43 -07:00
Lars Jung
9648bd6a42 Adds missing jQuery.spin plugin. 2012-09-14 09:59:52 +02:00
Lars Jung
cb6eb4b1b3 Updates 3rd party libs. 2012-09-14 00:45:58 +02:00
Lars Jung
07fcb40aab Updates build process. 2012-09-14 00:25:20 +02:00
Romain Sertelon
010b984a93 Issues fixed 2012-09-13 15:59:26 +02:00
Lars Jung
6d188f1271 Updates readme. 2012-09-12 21:35:24 +02:00
Lars Jung
2fecdef3e0 Adds he translation to config. 2012-09-12 20:55:27 +02:00
Lars Jung
8783f00460 Merge pull request #109 from tomer/develop
Hebrew translation
2012-09-12 11:51:59 -07:00
Lars Jung
b727b29275 Updates build process. 2012-09-12 20:48:15 +02:00
Romain Sertelon
d0544462d5 Adds Piwik Analytics support 2012-09-12 16:04:06 +02:00
Tomer Cohen
47a1c0989c Hebrew translation 2012-09-11 22:02:00 +03:00
Lars Jung
07d67787d8 Removes some blank lines. 2012-08-31 19:44:59 +02:00
Lars Jung
586c21a2c1 More jade. 2012-08-31 18:15:21 +02:00
Lars Jung
b80eeeebbf Adds background transition for img preview fullscreen mode. 2012-08-31 16:55:38 +02:00
Lars Jung
151f70773d Updates h5bp to 4.0.0. 2012-08-31 16:40:24 +02:00
Lars Jung
491e0e4068 Replaces dev number with short git hash. 2012-08-24 14:40:10 +02:00
Lars Jung
f4ea5dab4a Merge pull request #107 from Neelfyn/patch-2
Update French translation
2012-08-23 15:43:11 -07:00
Antoine
1f15b636e2 Update French translation
Add "filter" and "delete" strings to French translation.
2012-08-23 18:25:17 +03:00
Lars Jung
4b7aba378c Changes on info index page. 2012-08-19 22:44:10 +02:00
Lars Jung
4c96efe1c7 Minor refactorings. 2012-08-17 22:56:24 +02:00
Lars Jung
799f1ecd13 Updates config.js comments. 2012-08-17 16:51:10 +02:00
Lars Jung
f1a2a44079 Adds core/mode. Lots of changes to make installation more flexible. 2012-08-17 16:35:25 +02:00
Lars Jung
fd89ea1d90 Abstracts h5ai-index.php. 2012-08-15 22:05:52 +02:00
Lars Jung
5a017a0d5a _h5ai/index does not need to have absolute hrefs. 2012-08-15 12:32:00 +02:00
Lars Jung
e53d72e977 More jade. 2012-08-15 12:20:42 +02:00
Lars Jung
10c651c0a5 Updates readme. 2012-08-13 21:42:36 +02:00
Lars Jung
bf2cf3c048 Removes old code. 2012-08-13 21:39:27 +02:00
Lars Jung
1458623998 Updates Thumb to use defined paths. 2012-08-13 21:34:06 +02:00
Lars Jung
09abaa9a3c Updates lv translation. 2012-08-13 21:11:32 +02:00
Lars Jung
1217d2d699 Changes temp dir to cache dir. Adds auto deletion of temp packages. 2012-08-13 21:08:42 +02:00
Lars Jung
ee30ba509a Adds @ to php checks to ignore exceptions. Updates el translation. 2012-08-13 19:18:36 +02:00
Lars Jung
3617a7fb80 Updates readme and lv translation. 2012-08-13 17:08:28 +02:00
Lars Jung
7d324ce51f Uses utf8_encode for uploaded files. 2012-08-13 00:09:33 +02:00
Lars Jung
a6a95780da Improves build process. 2012-08-12 23:27:10 +02:00
Lars Jung
a99c28f234 Moves index.html to jade. Minor changes. 2012-08-12 22:19:40 +02:00
Lars Jung
bdcab107eb Minor changes. 2012-08-12 17:27:54 +02:00
Lars Jung
7b216484de Adds DirectoryIndex to htaccess. 2012-08-12 17:01:11 +02:00
Lars Jung
08f2f6e165 Updates readme. 2012-08-12 16:44:58 +02:00
Lars Jung
67e5779402 Ignore pattern might be absolute now. 2012-08-12 16:37:28 +02:00
Lars Jung
9a447a83bd Adds renaming. 2012-08-12 15:43:33 +02:00
Lars Jung
35d85b4e99 Renames autoupdate to autorefresh. 2012-08-12 15:18:50 +02:00
Lars Jung
1be5e121b3 Cleans code. 2012-08-12 14:56:05 +02:00
Lars Jung
fbfbcd0439 Separates translations. 2012-08-12 14:52:27 +02:00
Lars Jung
801ee05872 Adds refresh after delete an upload. 2012-08-12 11:58:09 +02:00
Lars Jung
3e3b2813cd Adds core/refresh. Refactors ext/autoupdate. 2012-08-12 11:48:34 +02:00
Lars Jung
f7fbd2e256 Fixed content transition. 2012-08-11 22:40:23 +02:00
Lars Jung
71d22fb9e0 Improves api security. 2012-08-11 22:05:29 +02:00
Lars Jung
ff40e2129f Updates dropbox design. Now the content space is the dropzone. 2012-08-11 21:41:25 +02:00
Lars Jung
4c3267c1f8 Removes unused folder uploads. 2012-08-11 20:58:10 +02:00
Lars Jung
2a1f864e6f Fixes typos. 2012-08-11 17:53:07 +02:00
Lars Jung
c160c89027 Sorts extensions in config.js 2012-08-11 17:49:30 +02:00
Lars Jung
9d26d5ae7e Adds l10n for delete. 2012-08-11 13:39:09 +02:00
Lars Jung
cc7d9ee912 Fixes selection update for deleted entries. 2012-08-11 13:36:51 +02:00
Lars Jung
0b6b2b0f33 Changes context-menu to pure delete function. 2012-08-11 13:25:27 +02:00
Lars Jung
91a9621648 Changes build process to use handelbars. 2012-08-11 02:41:03 +02:00
Lars Jung
45922c1e7b Adds context menu with delete option. 2012-08-11 02:29:15 +02:00
Lars Jung
14960af036 Dropbox feature nearly done. 2012-08-11 02:28:05 +02:00
Lars Jung
f915bdea3b Improves display of 'empty' string for empty folders. 2012-08-11 02:26:48 +02:00
Lars Jung
befdf54952 Style improvments. 2012-08-11 02:24:55 +02:00
Lars Jung
94deb369b1 Updates error messages for api upload function. 2012-08-11 02:22:41 +02:00
Lars Jung
87b3c6bfee Improves entry url encoding. 2012-08-11 02:21:12 +02:00
Lars Jung
9ac5973907 Reformats config comments. 2012-08-11 02:19:29 +02:00
Lars Jung
2f288703bf Updates jQuery to 1.8.0 2012-08-11 02:16:13 +02:00
Lars Jung
d76fad3a51 Adds drag'n'drop upload. 2012-08-09 11:34:20 +02:00
Lars Jung
da438f2f0b Adds new events. Adds autoupdate extension. 2012-08-08 02:44:25 +02:00
Lars Jung
4245f2019e Adds type diff. 2012-08-07 15:51:50 +02:00
Lars Jung
49eb730757 Updates langs. 2012-08-07 13:48:01 +02:00
Lars Jung
b506405a2c Updates version to 0.22-dev. 2012-08-06 19:28:56 +02:00
370 changed files with 19520 additions and 5517 deletions

View File

@@ -1,19 +1,47 @@
# h5ai
**a modern HTTP web server index for Apache httpd, lighttpd, nginx and Cherokee**
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 on the [project page](http://larsjung.de/h5ai/).
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!
* to report a bug or make a feature request please create [a new issue](http://github.com/lrsjng/h5ai/issues/new) on GitHub
* website with download, docs and demo: <http://larsjung.de/h5ai>
* sources: <http://github.com/lrsjng/h5ai>
h5ai is provided under the terms of the [MIT License](http://github.com/lrsjng/h5ai/blob/master/LICENSE.txt).
## Install
(**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 of 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:
> 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.
You'll find a new directory `build` including a fresh zipball.
> git clone git://github.com/lrsjng/h5ai.git
> cd h5ai
> makejs release
## License
**h5ai** is provided under the terms of the [MIT License](http://github.com/lrsjng/h5ai/blob/develop/LICENSE.md).
It profits from these great projects:
[AmplifyJS](http://amplifyjs.com)&nbsp;(MIT/GPL),
[Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228)&nbsp;(GPL),
[HTML5 ★ Boilerplate](http://html5boilerplate.com),
[jQuery](http://jquery.com)&nbsp;(MIT/GPL),
[HTML5 ★ Boilerplate](http://html5boilerplate.com)&nbsp;(MIT),
[jQuery](http://jquery.com)&nbsp;(MIT),
[jQuery.filedrop](http://www.github.com/weixiyen/jquery-filedrop)&nbsp;(MIT),
[jQuery.fracs](http://larsjung.de/fracs/)&nbsp;(MIT),
[jQuery.mousewheel](http://github.com/brandonaaron/jquery-mousewheel)&nbsp;(MIT),
[jQuery.qrcode](http://larsjung.de/qrcode/)&nbsp;(MIT),
@@ -22,26 +50,41 @@ It profits from these great projects:
[Modernizr](http://www.modernizr.com)&nbsp;(MIT/BSD),
[modulejs](http://larsjung.de/modulejs/)&nbsp;(MIT),
[Moment.js](http://momentjs.com)&nbsp;(MIT),
[spin.js](http://fgnass.github.com/spin.js/)&nbsp;(MIT),
[SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/)&nbsp;(MIT/GPL),
[Underscore.js](http://underscorejs.org)&nbsp;(MIT)
## Build
A prebuilt package can be found on the [project page](http://larsjung.de/h5ai/). If you want to build
h5ai yourself you need to install [fQuery](http://larsjung.de/fquery/) first:
> npm install -g fquery
To build the project run the following command inside the project's root directory
> makejs
Run `makejs -t` to list all possible targets.
## Changelog
(**h5ai** uses [semantic versioning](http://semver.org/))
### v0.22 - *2012-10-14*
* general changes h5ai directory layout and configuration
* splits configuration file (`config.json`) into files `options.json`, `types.json` and `langs.json`
* localization now in separate files
* adds auto-refresh
* adds drag'n'drop upload (PHP, experimental)
* adds file deletion (PHP, experimental)
* cleans and improves PHP code
* PHP no longer respects htaccess restrictions (so be careful)
* PHP ignore patterns might include paths now
* improves separation between aai and php mode
* improves performance in aai mode
* adds optional binary prefixes for file sizes
* improves filter: autofocus on keypress, clear on `ESC`
* download packages now packaged relative to current folder
* download package name changable
* splits type `js` into `js` and `json`
* prevents some errors with files > 2GB on 32bit OS
* adds max subfolder size in tree view
* adds ctrl-click file selection
* adds Piwik analytics extension
* temp download packages are now stored in the `cache`-folder and deleted as soon as possible
* updates translations
* adds `he` translation by [Tomer Cohen](https://github.com/tomer)
* updates 3rd party libs
### v0.21 - *2012-08-06*

View File

@@ -3,10 +3,8 @@
var path = require('path'),
child_process = require('child_process');
var version = '0.21',
pkg = require('./package.json'),
root = path.resolve(__dirname),
src = path.join(root, 'src'),
@@ -34,14 +32,18 @@ var version = '0.21',
]
},
mapper = function (blob) {
return blob.source.replace(src, build).replace(/\.less$/, '.css');
handlebarsEnv = {
pkg: pkg
},
mapperRoot = function (blob) {
mapSrc = function (blob) {
return blob.source.replace(root, build + '/_h5ai');
return blob.source.replace(src, build).replace(/\.less$/, '.css').replace(/\.jade$/, '');
},
mapRoot = function (blob) {
return blob.source.replace(root, path.join(build, '_h5ai'));
};
@@ -49,137 +51,119 @@ module.exports = function (make) {
var Event = make.Event,
$ = make.fQuery,
moment = make.moment,
stamp, replacements;
moment = make.moment;
make.version('>=0.8.1');
make.defaults('build');
make.before(function () {
stamp = moment();
replacements = {
version: version,
stamp: stamp.format('YYYY-MM-DD HH:mm:ss')
};
Event.info({ method: 'before', message: version + ' ' + replacements.stamp });
handlebarsEnv.stamp = moment().format('YYYY-MM-DD HH:mm:ss');
});
make.target('inc', [], 'increase build number, if any')
.sync(function () {
make.target('check-version', [], 'add git info to dev builds').async(function (done, fail) {
var re = /-(\d+)$/;
var match = version.match(re);
if (!/-dev$/.test(pkg.version)) {
done();
return;
}
if (match) {
var number = parseInt(match[1], 10) + 1;
var newVersion = version.replace(re, '-' + number);
$.git(root, function (err, result) {
$('makefile.js').replace([[version, newVersion]]).write($.OVERWRITE, 'makefile.js');
version = newVersion;
replacements.version = version;
Event.ok({ method: 'inc', message: 'version is now ' + version });
}
});
make.target('clean', [], 'delete build folder')
.sync(function () {
$.rmfr($.I_AM_SURE, build);
});
make.target('lint', [], 'lint all JavaScript files with JSHint')
.sync(function () {
$(src + '/_h5ai/js: **/*.js, ! *.min.js, ! inc/lib/**')
.jshint(jshint);
});
make.target('build', [], 'build all updated files')
.sync(function () {
$(src + ': _h5ai/js/*.js')
.modified(mapper, $(src + ': _h5ai/js/**'))
.includify()
.uglifyjs()
.write($.OVERWRITE, mapper);
$(src + ': _h5ai/css/*.less')
.modified(mapper, $(src + ': _h5ai/css/**'))
.less()
.cssmin()
.write($.OVERWRITE, mapper);
$(src + ': **, ! _h5ai/js/**, ! _h5ai/css/**')
.modified(mapper)
.mustache(replacements)
.write($.OVERWRITE, mapper);
$(root + ': README*, LICENSE*')
.modified(mapperRoot)
.write($.OVERWRITE, mapperRoot);
});
make.target('build-uncompressed', [], 'build all updated files without compression')
.sync(function () {
$(src + ': _h5ai/js/*.js')
.modified(mapper, $(src + ': _h5ai/js/**'))
.includify()
// .uglifyjs()
.write($.OVERWRITE, mapper);
$(src + ': _h5ai/css/*.less')
.modified(mapper, $(src + ': _h5ai/css/**'))
.less()
// .cssmin()
.write($.OVERWRITE, mapper);
$(src + ': **, ! _h5ai/js/**, ! _h5ai/css/**')
.modified(mapper)
.mustache(replacements)
.write($.OVERWRITE, mapper);
$(root + ': README*, LICENSE*')
.modified(mapperRoot)
.write($.OVERWRITE, mapperRoot);
});
make.target('release', ['inc', 'clean', 'build'], 'create a zipball')
.async(function (done, fail) {
var target = path.join(build, 'h5ai-' + version + '.zip'),
cmd = 'zip',
args = ['-ro', target, '_h5ai'],
options = { cwd: build },
proc = child_process.spawn(cmd, args, options);
Event.info({ method: 'exec', message: cmd + ' ' + args.join(' ') });
// proc.stdout.on('data', function (data) {
// process.stdout.write(data);
// });
proc.stderr.on('data', function (data) {
process.stderr.write(data);
});
proc.on('exit', function (code) {
if (code) {
Event.error({ method: 'exec', message: cmd + ' exit code ' + code });
fail();
} else {
Event.ok({ method: 'exec', message: 'created zipball ' + target });
done();
}
pkg.version += '-' + result.revListOriginMasterHead.length + '-' + result.revParseHead.slice(0, 7);
Event.info({
method: 'check-version',
message: 'version set to ' + pkg.version
});
done();
});
});
make.target('clean', [], 'delete build folder').sync(function () {
$.rmfr($.I_AM_SURE, build);
});
make.target('lint', [], 'lint all JavaScript files with JSHint').sync(function () {
$(src + '/_h5ai/client/js: **/*.js, ! lib/**')
.jshint(jshint);
});
make.target('build', ['check-version'], 'build all updated files').sync(function () {
$(src + ': _h5ai/client/js/*.js')
.modified(mapSrc, $(src + ': _h5ai/client/js/**'))
.includify()
.uglifyjs()
.write($.OVERWRITE, mapSrc);
$(src + ': _h5ai/client/css/*.less')
.modified(mapSrc, $(src + ': _h5ai/client/css/**'))
.less()
.cssmin()
.write($.OVERWRITE, mapSrc);
$(src + ': **/*.jade')
.modified(mapSrc)
.handlebars(handlebarsEnv)
.jade()
.write($.OVERWRITE, mapSrc);
$(src + ': **, ! _h5ai/client/js/**, ! _h5ai/client/css/**, ! **/*.jade')
.modified(mapSrc)
.handlebars(handlebarsEnv)
.write($.OVERWRITE, mapSrc);
$(root + ': README*, LICENSE*')
.modified(mapRoot)
.write($.OVERWRITE, mapRoot);
});
make.target('build-uncompressed', ['check-version'], 'build all updated files without compression').sync(function () {
$(src + ': _h5ai/client/js/*.js')
.modified(mapSrc, $(src + ': _h5ai/client/js/**'))
.includify()
// .uglifyjs()
.write($.OVERWRITE, mapSrc);
$(src + ': _h5ai/client/css/*.less')
.modified(mapSrc, $(src + ': _h5ai/client/css/**'))
.less()
// .cssmin()
.write($.OVERWRITE, mapSrc);
$(src + ': **/*.jade')
.modified(mapSrc)
.handlebars(handlebarsEnv)
.jade()
.write($.OVERWRITE, mapSrc);
$(src + ': **, ! _h5ai/client/js/**, ! _h5ai/client/css/**, ! **/*.jade')
.modified(mapSrc)
.handlebars(handlebarsEnv)
.write($.OVERWRITE, mapSrc);
$(root + ': README*, LICENSE*')
.modified(mapRoot)
.write($.OVERWRITE, mapRoot);
});
make.target('release', ['clean', 'build'], 'create a zipball').async(function (done, fail) {
$(build + ': **').shzip({
target: path.join(build, pkg.name + '-' + pkg.version + '.zip'),
dir: build,
callback: done
});
});
};

12
package.json Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "h5ai",
"version": "0.22",
"description": "a modern HTTP web server index",
"url": "http://larsjung.de/h5ai/",
"author": "Lars Jung",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/lrsjng/h5ai.git"
}
}

View File

@@ -1,6 +1,8 @@
Options -Indexes
DirectoryIndex index.html
<IfModule mod_expires.c>
Header set Cache-Control "public"
ExpiresActive on
@@ -11,7 +13,7 @@ Options -Indexes
# cache.manifest needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
# your document html
# your document html
ExpiresByType text/html "access plus 0 seconds"
# data

View File

@@ -1,6 +0,0 @@
<!-- generated code ends here -->
</div>
<script src="/_h5ai/config.js"></script>
<script src="/_h5ai/js/scripts.js"></script>
</body>
</html>

View File

@@ -1,38 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Directory index · styled with h5ai</title>
<meta name="description" content="Directory index styled with h5ai (http://larsjung.de/h5ai)">
<meta name="viewport" content="width=device-width">
<link rel="shortcut icon" type="image/png" href="/_h5ai/images/h5ai-16x16.png">
<link rel="apple-touch-icon" type="image/png" href="/_h5ai/images/h5ai-48x48.png">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic,700italic|Ubuntu:400,700,400italic,700italic">
<link rel="stylesheet" href="/_h5ai/css/styles.css">
<script src="/_h5ai/js/modernizr.js"></script>
</head>
<body id="h5ai-main">
<div id="topbar" class="clearfix">
<ul id="navbar"></ul>
</div>
<div id="content">
<div id="extended" class="clearfix"></div>
</div>
<div id="bottombar" class="clearfix">
<span class="left">
<a id="h5ai-reference" href="http://larsjung.de/h5ai" title="h5ai project page">h5ai {{version}}</a>
<span class="hideOnJs noJsMsg"> ⚡ JavaScript is disabled! ⚡ </span>
<span class="oldBrowser"> ⚡ Some features disabled! Works best in <a href="http://browsehappy.com">modern browsers</a>. ⚡ </span>
</span>
<span class="right"></span>
<span class="center"></span>
</div>
<div id="data-apache-autoindex" class="hideOnJs">
<!--
The following code was generated by Apache's autoindex module. It is not valid HTML5, but gets
removed from the DOM tree as soon as possible. The actual page should render as valid HTML5.
-->

View File

@@ -3,6 +3,7 @@
position: fixed;
z-index: 5;
width: 100%;
height: 18px;
left: 0;
bottom: 0;
padding: 6px 0 8px 0;
@@ -24,18 +25,19 @@
}
}
.left {
position: absolute;
left: 0;
display: block;
padding: 0 8px;
float: left
}
.center {
display: block;
margin: 0 100px;
}
.right {
position: absolute;
right: 0;
display: block;
padding: 0 8px;
float: right
}
.noJsMsg {
color: #c33;
@@ -57,6 +59,10 @@
.sep {
display: inline-block;
padding: 0 6px;
&:before {
content: '·'
}
}
&.default {
}

View File

@@ -5,8 +5,8 @@
font-size: 16px;
}
#content-header, #content-footer {
color: #333;
a, a:active, a:visited {
color: #2080FF;
@@ -14,12 +14,11 @@
cursor: pointer;
&:hover {
color: #68A9FF;
color: #555;
}
}
}
#content-header {
padding-bottom: 12px;
margin-bottom: 32px;

View File

@@ -0,0 +1,32 @@
#extended .context-menu {
display: block;
position: absolute;
right: 0;
top: 0;
background-color: rgb(241,241,241);
border: 1px solid rgb(210,210,210);
color: #999;
z-index: 10;
font-size: 0.9em;
ul {
margin: 0;
padding: 0;
list-style: none;
text-align: left;
li {
padding: 8px 12px 10px 12px;
white-space: nowrap;
border-top: 1px solid rgb(231,231,231);
.transition(all 0.2s ease-in-out);
&:hover {
color: #e80;
background-color: rgba(255,255,255,0.8);
}
}
}
}

View File

@@ -0,0 +1,30 @@
#delete {
display: none;
.topbar-right;
.transition(all 0.2s ease-in-out);
&.failed {
background-color: rgba(255,0,0,0.5);
}
}
#delete-auth {
display: none;
position: fixed;
z-index: 5;
left: 0;
top: 0;
.vert-gradient(rgb(241,241,241), rgb(228,228,228));
border: 1px solid rgb(210,210,210);
input {
display: block;
margin: 4px 6px;
border: 1px solid rgb(210,210,210);
font-family: Ubuntu, sans-serif;
color: #555;
background-color: rgba(255,255,255,1);
width: 100px;
}
}

View File

@@ -0,0 +1,89 @@
#content {
border: 1px dashed #fff;
.border-radius(8px);
.transition(border-color 0.2s ease-in-out);
&.hint {
border-color: #ddd;
}
&.match {
border-color: #999;
}
}
#uploads {
width: 450px;
margin: 12px auto;
padding: 0;
list-style: none;
.upload {
color: #555;
font-size: 0.9em;
.name {
display: inline-block;
white-space: nowrap;
overflow: hidden;
&:before {
display: inline-block;
content: '•';
color: #55c;
width: 1em;
text-align: center;
padding-right: 1em;
}
}
.size {
display: none;
float: right;
white-space: nowrap;
&:after {
content: ' bytes'
}
}
.error {
float: right;
white-space: nowrap;
color: #c55;
}
.finished {
float: right;
white-space: nowrap;
color: #008200;
}
.progress {
display: inline-block;
margin: 4px 8px;
width: 84px;
height: 8px;
background-color: #ddd;
overflow: hidden;
float: right;
.bar {
width: 0%;
height: 100%;
background-color: #999;
}
}
&.finished .name:before {
content: '✔';
color: #008200;
}
&.error .name:before {
content: '✖';
color: #c55;
}
}
}

View File

@@ -0,0 +1,46 @@
#extended.view-details {
li {
&.header {
display: list-item;
}
&.entry {
a, a:active, a:visited {
border-bottom: 1px solid #e8e8e8;
}
// needs to be here, to not conflict with header fields
.icon, .label, .date, .size {
padding: 6px;
}
}
.icon.small {
display: inline-block;
position: absolute;
left: 0;
top: -2px;
width: 16px;
}
.label {
margin: 0 270px 0 24px;
}
.date {
position: absolute;
right: 100px;
top: 0;
}
.size {
position: absolute;
right: 0;
top: 0;
}
}
}

View File

@@ -0,0 +1,42 @@
#extended.view-grid {
li {
&.entry {
float: left;
a, a:active, a:visited {
float: left;
margin: 2px;
padding: 8px;
width: 164px;
height: 24px;
border: 2px solid rgba(0,0,0,0);
.border-radius(5px);
&:hover, &.hover {
border-color: #e8e8e8;
}
}
}
.icon.small {
display: inline-block;
position: relative;
left: 0;
top: -2px;
width: 16px;
}
.label {
display: inline-block;
padding-left: 6px;
max-width: 140px;
}
.date, .size {
display: none;
}
}
}

View File

@@ -0,0 +1,47 @@
#extended.view-icons {
li {
text-align: center;
&.entry {
float: left;
a, a:active, a:visited {
float: left;
margin: 8px;
padding: 8px;
width: 100px;
height: 120px;
border: 2px solid rgba(0,0,0,0);
.border-radius(5px);
&:hover, &.hover {
border-color: #e8e8e8;
}
}
}
.icon.big {
display: block;
height: 48px;
margin-bottom: 6px;
}
.label {
text-align: center;
word-wrap: break-word;
white-space: normal;
}
.date, .size {
display: none;
}
}
.empty, .no-match {
margin: 0 120px;
padding: 16px;
height: 120px;
}
}

View File

@@ -0,0 +1,39 @@
#extended.view-list {
li {
&.entry {
a, a:active, a:visited {
height: 56px;
border-bottom: 1px solid #e8e8e8;
}
}
.icon, .label, .date, .size {
padding: 6px;
}
.icon.big {
display: inline-block;
position: absolute;
left: 0;
top: -2px;
width: 100px;
}
.label {
margin: 0 270px 0 106px;
}
.date {
margin: 0 0 0 106px;
}
.date, .size {
position: relative;
top: -6px;
}
}
}

View File

@@ -0,0 +1,168 @@
#selection-rect {
display: none;
position: absolute;
left: 0;
top: 0;
z-index: 2;
border: 1px dashed rgba(240,100,0,0.5);
background-color: rgba(240,100,0,0.2);
}
#extended {
display: none;
a, a:active, a:visited {
color: #333;
cursor: pointer;
text-decoration: none;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
position: relative;
white-space: nowrap;
&.header {
display: none;
font-size: 13px;
a, a:active, a:visited {
padding: 6px 6px 18px 6px;
opacity: 0.4;
.transition(all 0.2s ease-in-out);
img {
display: none;
position: relative;
top: -2px;
width: 12px;
height: 12px;
padding: 0 8px;
}
&:hover {
color: #555;
opacity: 0.9;
}
&.ascending img.ascending {
display: inline;
}
&.descending img.descending {
display: inline;
}
}
}
&.entry {
a, a:active, a:visited {
display: block;
overflow: hidden;
&:hover, &.hover {
color: #e80;
background-color: #f6f6f6;
border-color: #e8e8e8;
}
}
&.selected:not(.selecting), &.selecting:not(.selected) {
a, a:active, a:visited {
border-color: rgba(240,100,0,0.2);
background-color: rgba(240,100,0,0.2);
&:hover, &.hover {
border-color: rgba(240,100,0,0.2);
background-color: rgba(240,100,0,0.2);
}
}
}
}
&.error {
a, a:active, a:visited {
color: #aaa;
&:hover, &.hover {
color: #e80;
}
}
.label .hint {
padding: 0 6px;
font-size: 0.9em;
color: #c55;
}
}
&.folder-parent {
.date, .size {
display: none;
}
}
.icon {
display: none;
text-align: center;
img {
&.thumb {
.box-shadow(0 0 0 1px #ddd);
}
}
&.small {
img {
max-width: 16px;
max-height: 16px;
}
}
&.big {
img {
max-width: 100px;
max-height: 48px;
}
}
}
.label {
display: block;
overflow: hidden;
text-align: left;
}
.date {
text-align: right;
width: 160px;
}
.size {
text-align: right;
width: 80px;
}
}
.empty, .no-match {
margin: 50px 0;
text-align: center;
color: #ddd;
font-size: 5em;
font-weight: bold;
}
.no-match {
display: none;
}
}

View File

@@ -1,7 +1,7 @@
#data-apache-autoindex, #data-php-no-js-fallback {
max-width: 960px;
margin: 0 auto;
margin: 0 auto 80px auto;
table {
display: block;
@@ -57,6 +57,8 @@
td:nth-child(1), th:nth-child(1) {
text-align: center;
width: 16px;
color: #ccc;
font-size: 0.9em;
img {
width: 16px;

View File

@@ -0,0 +1,24 @@
html { overflow-y: auto; }
::-moz-selection { background: #68A9FF; color: #fff; text-shadow: none; }
::selection { background: #68A9FF; color: #fff; text-shadow: none; }
body {
font-family: Ubuntu, sans-serif;
font-size: 13px;
color: #555;
background-color: #fff;
margin: 30px;
}
html.js .hideOnJs, html.no-js .hideOnNoJs {
display: none;
}
html.oldie {
.oldBrowser {
display: inline !important;
}
#tree {
display: none !important;
}
}

View File

@@ -9,8 +9,6 @@ body#h5ai-info {
.build-version {
display: block;
// font-size: 0.9em;
// color: #aaa;
}
.build-stamp {
display: block;
@@ -66,7 +64,7 @@ body#h5ai-info {
margin: 4px 0 12px 12px;
font-size: 0.7em;
color: #aaa;
width: 300px;
width: 310px;
line-height: 1.2em;
}
}

View File

@@ -33,21 +33,21 @@
padding: 0;
list-style: none;
text-align: left;
}
li {
padding: 8px 24px 10px 24px;
white-space: nowrap;
border-top: 1px solid rgb(231,231,231);
.transition(all 0.2s ease-in-out);
li {
padding: 8px 24px 10px 24px;
white-space: nowrap;
border-top: 1px solid rgb(231,231,231);
.transition(all 0.2s ease-in-out);
&.current {
color: #333;
background-color: rgba(255,255,255,0.8);
}
&:hover {
color: #e80;
background-color: rgba(255,255,255,0.8);
}
&.current {
color: #333;
background-color: rgba(255,255,255,0.8);
}
&:hover {
color: #e80;
background-color: rgba(255,255,255,0.8);
}
}
}

View File

@@ -9,6 +9,7 @@
z-index: 100;
background-color: rgba(0,0,0,0.5);
.transition(background-color 0.3s ease-in-out);
text-align: center;
}
@@ -18,11 +19,22 @@
}
// @check-white: rgba(255,255,255,0.5);
// @check-black: rgba(0,0,0,0.2);
@check-white: #f8f8f8;
@check-black: #e8e8e8;
#pv-img-image {
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 {
@@ -108,15 +120,15 @@
}
}
#pv-img-topbar {
position: fixed;
z-index: 5;
width: 100%;
left: 0;
top: 0;
.vert-gradient(rgb(37,37,37), rgb(24,24,24));
border-bottom: 1px solid rgb(27,27,27);
}
// #pv-img-topbar {
// position: fixed;
// z-index: 5;
// width: 100%;
// left: 0;
// top: 0;
// .vert-gradient(rgb(37,37,37), rgb(24,24,24));
// border-bottom: 1px solid rgb(27,27,27);
// }
#pv-img-bottombar {
position: fixed;

View File

@@ -26,12 +26,17 @@
}
#pv-txt-text {
word-break: break-all;
.syntaxhighlighter {
overflow: visible !important;
.gutter .line {
border-right: none !important;
}
// .code .line, table td.code .container textarea {
// white-space: normal !important;
// }
}
&.markdown {
@@ -133,15 +138,15 @@
}
}
#pv-txt-topbar {
position: fixed;
z-index: 5;
width: 100%;
left: 0;
top: 0;
.vert-gradient(rgb(37,37,37), rgb(24,24,24));
border-bottom: 1px solid rgb(27,27,27);
}
// #pv-txt-topbar {
// position: fixed;
// z-index: 5;
// width: 100%;
// left: 0;
// top: 0;
// .vert-gradient(rgb(37,37,37), rgb(24,24,24));
// border-bottom: 1px solid rgb(27,27,27);
// }
#pv-txt-bottombar {
position: fixed;

View File

@@ -1,22 +1,16 @@
#context {
position: fixed;
z-index: 1;
#qrcode {
display: none;
position: fixed;
right: 16px;
bottom: 50px;
z-index: 1;
background-color: #fff;
border: 2px solid #ddd;
padding: 8px;
span {
canvas {
display: block;
}
.qrcode {
canvas {
display: block;
}
}
}

View File

@@ -20,7 +20,7 @@
.current {
display: block;
}
}
}
#extended.view-details {
.header .label, .entry .label {
margin-right: 110px;

View File

@@ -3,6 +3,7 @@
position: fixed;
z-index: 5;
width: 100%;
min-height: 30px;
left: 0;
top: 0;
.vert-gradient(rgb(241,241,241), rgb(228,228,228));

View File

@@ -0,0 +1,119 @@
#tree {
display: none;
position: fixed;
left: 0;
top: 31px;
height: 100%;
z-index: 3;
overflow: auto;
padding: 8px;
background-color: rgb(241,241,241);
border-right: 2px solid rgb(221,221,221);
.sp-scrollbar {
margin: 8px 8px 8px 0;
width: 6px;
background-color: rgb(210,210,210);
.border-radius(3px);
cursor: pointer;
.sp-thumb {
background-color: rgb(180,180,180);
.border-radius(3px);
}
&.active .sp-thumb {
background-color: rgb(150,150,150);
}
}
.indicator {
position: relative;
top: 2px;
display: inline-block;
width: 16px;
height: 22px;
float: left;
opacity: 0.7;
cursor: pointer;
img {
width: 12px;
height: 12px;
.transition(all 0.2s ease-in-out);
}
&.open {
img {
.transform(rotate(90deg));
}
}
&.unknown {
opacity: 0.3;
}
&.none {
opacity: 0;
cursor: inherit;
}
}
a, a:active, a.visited {
display: block;
height: 1.231em;
line-height: 1.231em;
margin-left: 14px;
padding: 4px 6px;
color: #555;
border: 1px solid rgba(0,0,0,0);
.border-radius(5px);
text-decoration: none;
opacity: 0.7;
&:hover, &.hover {
color: #e80;
background-color: rgba(255,255,255,0.5);
opacity: 1;
}
}
.icon {
position: relative;
top: -2px;
margin-right: 6px;
img {
width: 16px;
height: 16px;
}
}
.hint {
margin-left: 6px;
font-size: 0.9em;
color: #ccc;
}
.content {
list-style: none;
margin: 0;
padding: 0 0 0 24px;
}
.summary {
margin: 0 0 0 24px;
color: #999;
font-style: italic;
}
.current {
> a, > a:active, > a:visited {
background-color: rgba(255,255,255,0.5);
border-color: rgb(221,221,221);
opacity: 1;
}
}
.error {
> a, > a:active, > a:visited {
color: #999;
&:hover, &.hover {
color: #e80;
}
}
.hint {
color: #c55;
}
}
}

View File

@@ -0,0 +1,188 @@
/* ==========================================================================
Helper classes
========================================================================== */
/*
* Image replacement
*/
.ir {
background-color: transparent;
border: 0;
overflow: hidden;
/* IE 6/7 fallback */
*text-indent: -9999px;
}
.ir:before {
content: "";
display: block;
width: 0;
height: 100%;
}
/*
* Hide from both screenreaders and browsers: h5bp.com/u
*/
.hidden {
display: none !important;
visibility: hidden;
}
/*
* Hide only visually, but have it available for screenreaders: h5bp.com/v
*/
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
/*
* Extends the .visuallyhidden class to allow the element to be focusable
* when navigated to via the keyboard: h5bp.com/p
*/
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}
/*
* Hide visually and from screenreaders, but maintain layout
*/
.invisible {
visibility: hidden;
}
/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
* `contenteditable` attribute is included anywhere else in the document.
* Otherwise it causes space to appear at the top and bottom of elements
* that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
* `:before` to contain the top-margins of child elements.
*/
.clearfix:before,
.clearfix:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.clearfix:after {
clear: both;
}
/*
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/
.clearfix {
*zoom: 1;
}
/* ==========================================================================
EXAMPLE Media Queries for Responsive Design.
Theses examples override the primary ('mobile first') styles.
Modify as content requires.
========================================================================== */
@media only screen and (min-width: 35em) {
/* Style adjustments for viewports that meet the condition */
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-resolution: 144dpi) {
/* Style adjustments for high resolution devices */
}
/* ==========================================================================
Print styles.
Inlined to avoid required HTTP connection: h5bp.com/r
========================================================================== */
@media print {
* {
background: transparent !important;
color: #000 !important; /* Black prints faster: h5bp.com/s */
box-shadow:none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
/*
* Don't show links for images, or javascript/internal links
*/
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; /* h5bp.com/t */
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}

View File

@@ -0,0 +1,94 @@
/*
* HTML5 Boilerplate
*
* What follows is the result of much research on cross-browser styling.
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
* Kroc Camen, and the H5BP dev community and team.
*/
/* ==========================================================================
Base styles: opinionated defaults
========================================================================== */
html,
button,
input,
select,
textarea {
color: #222;
}
body {
font-size: 1em;
line-height: 1.4;
}
/*
* Remove text-shadow in selection highlight: h5bp.com/i
* These selection declarations have to be separate.
* Customize the background color to match your design.
*/
::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}
::selection {
background: #b3d4fc;
text-shadow: none;
}
/*
* A better looking default horizontal rule
*/
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}
/*
* Remove the gap between images and the bottom of their containers: h5bp.com/i/440
*/
img {
vertical-align: middle;
}
/*
* Remove default fieldset styles.
*/
fieldset {
border: 0;
margin: 0;
padding: 0;
}
/*
* Allow only vertical resizing of textareas.
*/
textarea {
resize: vertical;
}
/* ==========================================================================
Chrome Frame prompt
========================================================================== */
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
/* ==========================================================================
Author's custom styles
========================================================================== */

View File

@@ -0,0 +1,504 @@
/*! normalize.css v1.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/*
* Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}
/*
* Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/*
* Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/*
* Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3,
* and Safari 4.
* Known issue: no IE 6 support.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
* `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/*
* Addresses `font-family` inconsistency between `textarea` and other form
* elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/*
* Addresses margins handled incorrectly in IE 6/7.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/*
* Addresses `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/*
* Improves readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE 6/7.
* Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5,
* and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
h2 {
font-size: 1.5em;
margin: 0.83em 0;
}
h3 {
font-size: 1.17em;
margin: 1em 0;
}
h4 {
font-size: 1em;
margin: 1.33em 0;
}
h5 {
font-size: 0.83em;
margin: 1.67em 0;
}
h6 {
font-size: 0.75em;
margin: 2.33em 0;
}
/*
* Addresses styling not present in IE 7/8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/*
* Addresses styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/*
* Addresses styling not present in IE 6/7/8/9.
*/
mark {
background: #ff0;
color: #000;
}
/*
* Addresses margins set differently in IE 6/7.
*/
p,
pre {
margin: 1em 0;
}
/*
* Corrects font family set oddly in IE 6, Safari 4/5, and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
font-size: 1em;
}
/*
* Improves readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Addresses CSS quotes not supported in IE 6/7.
*/
q {
quotes: none;
}
/*
* Addresses `quotes` property not supported in Safari 4.
*/
q:before,
q:after {
content: '';
content: none;
}
/*
* Addresses inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/*
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Lists
========================================================================== */
/*
* Addresses margins set differently in IE 6/7.
*/
dl,
menu,
ol,
ul {
margin: 1em 0;
}
dd {
margin: 0 0 0 40px;
}
/*
* Addresses paddings set differently in IE 6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/*
* Corrects list images handled incorrectly in IE 7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* ==========================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7.
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/*
* Corrects margin displayed oddly in IE 6/7.
*/
form {
margin: 0;
}
/*
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/*
* 1. Corrects color not being inherited in IE 6/7/8/9.
* 2. Corrects text not wrapping in Firefox 3.
* 3. Corrects alignment displayed oddly in IE 6/7.
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/*
* 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5,
* and Chrome.
* 3. Improves appearance and consistency in all browsers.
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/*
* Addresses Firefox 3+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/*
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
* `input` and others.
* 4. Removes inner spacing in IE 7 without affecting normal text inputs.
* Known issue: inner spacing remains in IE 6.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
*overflow: visible; /* 4 */
}
/*
* Re-set default cursor for disabled elements.
*/
button[disabled],
input[disabled] {
cursor: default;
}
/*
* 1. Addresses box sizing set to content-box in IE 8/9.
* 2. Removes excess padding in IE 8/9.
* 3. Removes excess padding in IE 7.
* Known issue: excess padding remains in IE 6.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/*
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/*
* Removes inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
* Removes inner padding and border in Firefox 3+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Removes default vertical scrollbar in IE 6/7/8/9.
* 2. Improves readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/*
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

View File

@@ -0,0 +1,35 @@
@import "lib/h5bp-normalize";
@import "lib/h5bp-main-header";
@import "lib/mixins";
@import "lib/sh/shCore";
@import "lib/sh/shThemeDefault";
@import "inc/general";
@import "inc/topbar";
@import "inc/bottombar";
@import "inc/download";
@import "inc/delete";
@import "inc/filter";
@import "inc/l10n";
@import "inc/tree";
@import "inc/qrcode";
@import "inc/preview-img";
@import "inc/preview-txt";
@import "inc/content";
@import "inc/extended";
@import "inc/extended-details";
@import "inc/extended-icons";
@import "inc/extended-list";
@import "inc/extended-grid";
// @import "inc/context-menu";
@import "inc/dropbox";
@import "inc/fallback-table";
@import "inc/responsive";
@import "inc/h5ai-info";
@import "lib/h5bp-main-footer";

View File

Before

Width:  |  Height:  |  Size: 551 B

After

Width:  |  Height:  |  Size: 551 B

View File

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 554 B

View File

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

View File

Before

Width:  |  Height:  |  Size: 551 B

After

Width:  |  Height:  |  Size: 551 B

View File

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 227 B

View File

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

View File

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 554 B

View File

Before

Width:  |  Height:  |  Size: 506 B

After

Width:  |  Height:  |  Size: 506 B

View File

Before

Width:  |  Height:  |  Size: 757 B

After

Width:  |  Height:  |  Size: 757 B

View File

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 699 B

View File

Before

Width:  |  Height:  |  Size: 599 B

After

Width:  |  Height:  |  Size: 599 B

View File

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 592 B

View File

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 671 B

View File

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 311 B

View File

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 586 B

View File

Before

Width:  |  Height:  |  Size: 535 B

After

Width:  |  Height:  |  Size: 535 B

View File

Before

Width:  |  Height:  |  Size: 679 B

After

Width:  |  Height:  |  Size: 679 B

View File

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 619 B

View File

Before

Width:  |  Height:  |  Size: 846 B

After

Width:  |  Height:  |  Size: 846 B

View File

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 618 B

View File

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 431 B

View File

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

View File

Before

Width:  |  Height:  |  Size: 494 B

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

View File

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 395 B

View File

Before

Width:  |  Height:  |  Size: 655 B

After

Width:  |  Height:  |  Size: 655 B

View File

Before

Width:  |  Height:  |  Size: 551 B

After

Width:  |  Height:  |  Size: 551 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 530 B

View File

Before

Width:  |  Height:  |  Size: 770 B

After

Width:  |  Height:  |  Size: 770 B

View File

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 792 B

View File

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 671 B

View File

Before

Width:  |  Height:  |  Size: 788 B

After

Width:  |  Height:  |  Size: 788 B

View File

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 658 B

View File

Before

Width:  |  Height:  |  Size: 675 B

After

Width:  |  Height:  |  Size: 675 B

View File

Before

Width:  |  Height:  |  Size: 540 B

After

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

View File

Before

Width:  |  Height:  |  Size: 423 B

After

Width:  |  Height:  |  Size: 423 B

View File

Before

Width:  |  Height:  |  Size: 614 B

After

Width:  |  Height:  |  Size: 614 B

View File

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 627 B

View File

Before

Width:  |  Height:  |  Size: 614 B

After

Width:  |  Height:  |  Size: 614 B

View File

Before

Width:  |  Height:  |  Size: 799 B

After

Width:  |  Height:  |  Size: 799 B

View File

Before

Width:  |  Height:  |  Size: 757 B

After

Width:  |  Height:  |  Size: 757 B

View File

Before

Width:  |  Height:  |  Size: 610 B

After

Width:  |  Height:  |  Size: 610 B

View File

Before

Width:  |  Height:  |  Size: 679 B

After

Width:  |  Height:  |  Size: 679 B

View File

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 629 B

View File

Before

Width:  |  Height:  |  Size: 817 B

After

Width:  |  Height:  |  Size: 817 B

View File

Before

Width:  |  Height:  |  Size: 622 B

After

Width:  |  Height:  |  Size: 622 B

View File

Before

Width:  |  Height:  |  Size: 743 B

After

Width:  |  Height:  |  Size: 743 B

View File

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 621 B

View File

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 781 B

View File

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 384 B

View File

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

View File

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

View File

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 627 B

View File

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

View File

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 510 B

View File

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 406 B

View File

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 677 B

View File

Before

Width:  |  Height:  |  Size: 463 B

After

Width:  |  Height:  |  Size: 463 B

View File

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 654 B

View File

Before

Width:  |  Height:  |  Size: 556 B

After

Width:  |  Height:  |  Size: 556 B

View File

Before

Width:  |  Height:  |  Size: 556 B

After

Width:  |  Height:  |  Size: 556 B

Some files were not shown because too many files have changed in this diff Show More