h5ai/README.md

437 lines
14 KiB
Markdown
Raw Normal View History

2011-07-28 21:25:48 -04:00
# h5ai
2012-10-13 09:26:44 -04:00
**a modern HTTP web server index for Apache httpd, lighttpd, nginx and Cherokee**
2011-07-28 21:25:48 -04:00
2012-10-13 09:23:30 -04:00
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!
2011-11-26 14:53:51 -05:00
2011-07-28 21:25:48 -04:00
2012-10-13 09:23:30 -04:00
## Install
2012-10-25 20:22:47 -04:00
( **note:** please don't use files from the `src` folder for installation,
they need to be preprocessed to work correctly )
2012-10-13 09:23:30 -04:00
You'll find a preprocessed package, as well as detailed installation
instructions on the [project page](http://larsjung.de/h5ai/).
2011-06-15 19:24:49 -04:00
2012-08-05 11:39:33 -04:00
## Build
( there are repositories for the latest [releases](http://release.larsjung.de/h5ai/) and [dev builds](http://release.larsjung.de/h5ai/dev/) )
2012-09-22 07:51:24 -04:00
2012-10-12 20:31:08 -04:00
If you want to build **h5ai** yourself you need to install the build tool [fQuery](http://larsjung.de/fquery/) first:
2012-08-05 11:39:33 -04:00
> npm install -g fquery
2012-09-18 10:46:48 -04:00
This will install fQuery and its command line tool `makejs`. Run `makejs --help` to see if everything
worked fine.
2012-08-05 11:39:33 -04:00
2012-09-18 10:59:11 -04:00
To clone and build the project run the following commands.
2012-10-13 09:36:04 -04:00
You'll find a new directory `build` including a fresh zipball.
2012-09-18 10:46:48 -04:00
> git clone git://github.com/lrsjng/h5ai.git
> cd h5ai
2012-09-18 10:59:11 -04:00
> makejs release
2012-08-05 11:39:33 -04:00
2011-11-01 17:33:00 -04:00
2012-10-13 09:23:30 -04:00
## License
**h5ai** is provided under the terms of the [MIT License](http://github.com/lrsjng/h5ai/blob/develop/LICENSE.md).
2012-10-13 09:26:44 -04:00
2012-10-13 09:23:30 -04:00
It profits from these great projects:
[Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228) (GPL),
[Gnome Symbolic Icon Theme](https://git.gnome.org/browse/gnome-icon-theme-symbolic/) (CC BY-SA 3.0),
2012-10-13 09:23:30 -04:00
[HTML5 ★ Boilerplate](http://html5boilerplate.com) (MIT),
[jQuery](http://jquery.com) (MIT),
2012-10-13 15:37:06 -04:00
[jQuery.filedrop](http://www.github.com/weixiyen/jquery-filedrop) (MIT),
2012-10-13 09:23:30 -04:00
[jQuery.fracs](http://larsjung.de/fracs/) (MIT),
[jQuery.mousewheel](http://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),
[Modernizr](http://www.modernizr.com) (MIT/BSD),
[modulejs](http://larsjung.de/modulejs/) (MIT),
[Moment.js](http://momentjs.com) (MIT),
[SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/) (MIT/GPL),
[Underscore.js](http://underscorejs.org) (MIT)
2012-08-05 13:56:26 -04:00
## Changelog
2012-10-25 20:22:47 -04:00
( **h5ai** uses [semantic versioning](http://semver.org/) )
2012-02-11 20:40:14 -05:00
2012-10-16 11:04:04 -04:00
2012-10-16 14:44:59 -04:00
### develop branch
2012-10-16 11:04:04 -04:00
2012-10-21 12:43:11 -04:00
* removes `aai` mode!
2013-07-11 12:40:09 -04:00
* drops support for IE7+8 (simple fallback, same as no javascript)
2013-07-19 06:11:19 -04:00
* uses History API if available (way faster browsing)
* faster thumbnail generation if EXIF thumbnails available
* improves previews
* improves packaged downloads
2012-10-24 19:37:34 -04:00
* add line wrap and line highlighting (on hover) to text preview
* new design (colors, images)
* now uses `SVG` images for the interface
2013-07-07 19:20:24 -04:00
* updates H5BP to 4.2.0
2013-07-09 16:59:45 -04:00
* updates jQuery to 2.0.3
2013-07-07 19:52:39 -04:00
* adds `uk` translation by Viktor Matveenko
2013-07-14 08:50:51 -04:00
* updates to `pl` translation by Mark
2012-10-16 11:04:04 -04:00
2013-07-08 14:25:05 -04:00
2012-10-16 11:02:24 -04:00
### v0.22.1 - *2012-10-16*
2012-10-14 12:40:43 -04:00
2012-10-16 11:02:24 -04:00
* bug fix concerning API requests in PHP mode
* minor changes in responsive styles
2012-10-14 12:40:43 -04:00
2012-10-14 12:38:34 -04:00
### v0.22 - *2012-10-14*
2012-08-06 13:28:56 -04:00
2012-10-12 20:54:51 -04:00
* 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
2012-10-13 20:30:01 -04:00
* adds auto-refresh
* adds drag'n'drop upload (PHP, experimental)
* adds file deletion (PHP, experimental)
2012-10-06 10:50:43 -04:00
* cleans and improves PHP code
2012-10-07 07:48:27 -04:00
* PHP no longer respects htaccess restrictions (so be careful)
2012-08-12 10:44:58 -04:00
* PHP ignore patterns might include paths now
2012-10-07 07:48:27 -04:00
* improves separation between aai and php mode
2012-10-12 20:54:51 -04:00
* improves performance in aai mode
* adds optional binary prefixes for file sizes
* improves filter: autofocus on keypress, clear on `ESC`
2012-10-13 18:02:10 -04:00
* download packages now packaged relative to current folder
* download package name changable
2012-10-12 20:54:51 -04:00
* 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
2012-10-12 20:54:51 -04:00
* adds Piwik analytics extension
2012-10-07 07:48:27 -04:00
* temp download packages are now stored in the `cache`-folder and deleted as soon as possible
2012-08-13 15:42:36 -04:00
* updates translations
2012-09-12 15:35:24 -04:00
* adds `he` translation by [Tomer Cohen](https://github.com/tomer)
2012-09-14 09:32:33 -04:00
* updates 3rd party libs
2012-08-06 13:28:56 -04:00
2012-08-06 13:26:32 -04:00
### v0.21 - *2012-08-06*
2012-05-11 13:09:01 -04:00
2012-07-15 19:12:06 -04:00
* fixes misaligned image previews
* adds no JavaScript fallback to PHP version
* fixes duplicate tree entries and empty main views
2012-08-02 17:14:45 -04:00
* adds Google Analytics support (async)
2012-08-02 18:06:43 -04:00
* improves filter (now ignorecase, now only checks if chars in right order)
2012-08-04 09:41:42 -04:00
* adds keyboard support to image preview (space, enter, backspace, left, right, up, down, f, esc)
2012-08-06 10:47:17 -04:00
* adds text file preview and highlighting with [SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/) (same keys as img preview)
2012-08-05 18:25:25 -04:00
* adds Markdown preview with [markdown-js](http://github.com/evilstreak/markdown-js)
* adds new type `markdown`
2012-08-02 18:32:07 -04:00
* changes language code `gr` to `el`
* adds localization for filter placeholder
2012-05-28 09:06:07 -04:00
* adds `hu` translation by [Rodolffo](http://github.com/Rodolffo)
* updates to [jQuery.qrcode](http://larsjung.de/qrcode/) 0.2
* updates to [jQuery.scrollpanel](http://larsjung.de/scrollpanel/) 0.1
2012-07-14 10:42:07 -04:00
* updates to [modulejs](http://larsjung.de/modulejs/) 0.2
2012-08-02 18:49:28 -04:00
* updates to [Moment.js](http://momentjs.com) 1.7.0
* updates to [Underscore.js](http://underscorejs.org) 1.3.3
2012-05-11 13:09:01 -04:00
2012-05-11 12:54:52 -04:00
### v0.20 - *2012-05-11*
* adds image preview
* adds thumbnails for video and pdf
* adds support for lighttpd, nginx and cherokee and maybe other webservers with PHP
* adds folder size in PHP version via shell `du`
* fixes some localization problems
* updates info page at `/_h5ai/`
* switches to JSHint
### v0.19 - *2012-04-19*
2012-02-24 12:14:33 -05:00
* adds lots of config options
* changes in `config.js` and `h5ai.htaccess`
* fixes js problems in IE 7+8
* hides broken tree view in IE < 9, adds a message to the footer
* removes hash changes since they break logical browser history
* fixes thumbnail size for portrait images in icon view
2012-04-17 17:38:15 -04:00
* fixes problems with file type recognition
2012-05-11 12:54:52 -04:00
* adds an info page at `/_h5ai/`
* sort order is preserved while browsing
* removes PHP error messages on thumbnail generation
2012-04-18 18:57:43 -04:00
* fixes PHP some problems with packed download
2012-04-17 17:38:15 -04:00
* adds support for tarred downloads
2012-04-18 18:57:43 -04:00
* changes crumb image for folders with an index file
* 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
2012-05-28 09:06:07 -04:00
* 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)
2012-02-24 12:14:33 -05:00
2012-02-24 10:37:37 -05:00
### v0.18 - *2012-02-24*
2012-02-11 20:40:14 -05:00
* adds optional QRCode display
* adds optional filtering for displayed files and folders
* updates design
* improves zipped download
* adds support for zipped download of htaccess restricted files
2012-02-19 20:47:00 -05:00
* changes h5ai.htaccess
* custom headers/footers are now optional and disabled by default
* fixes problems with folder recognition in the JS version
2012-02-15 18:34:55 -05:00
* fixes include problems in PHP version
* fixes path problems on servers running on Windows in PHP version
2012-02-16 21:25:57 -05:00
* fixes broken links in custom headers/footers while zipped download enabled
* fixes problems with thumbnails for files with single or double quotes in filename
2012-02-23 16:41:17 -05:00
* improves url hashes
* updates year in `LICENSE.TXT`
* updates es translation
2012-05-28 09:06:07 -04:00
* adds `zh-tw` translation by [Yao Wei](http://github.com/medicalwei)
* updates `zh-cn` translation
2012-02-17 17:21:13 -05:00
2012-02-11 20:40:14 -05:00
### v0.17 - *2011-11-28*
2011-11-26 14:53:51 -05:00
* h5ai is now located in `_h5ai` to reduce collisions
* switches from HTML5 Boilerplate reset to normalization
* adds some style changes for small devices
* configuration (options, types, translations) now via `config.js`
* icons for JS version are now configured via `config.js`
* sort order configuration changed
* sorting is now done without page reload
* adds `customHeader` and `customFooter` to `config.js`
* supports restricted folders to some extent
* some style changes on tree and language menu
* fixes total file/folder count in status bar
* adds support for use with userdir (requires some manual changes)
2012-02-11 20:40:14 -05:00
### v0.16 - *2011-11-02*
2011-09-18 13:54:18 -04:00
2011-10-30 17:05:25 -04:00
* sorts translations in `options.js`
* improves HTML head sections
2011-11-01 17:33:00 -04:00
* refactors JavaScript and PHP a lot
2011-10-30 17:05:25 -04:00
* improves/fixes file selection for zipped download
2011-11-01 19:56:55 -04:00
* fixes scrollbar and header/footer link issues (didn't work when zipped download enabled)
2011-11-01 17:33:00 -04:00
* adds support for ctrl-select
* `dateFormat` in `options.js` changed, now affecting JS and PHP version
* `dateFormat` is localizable by adding it to a translation in `options.js`
* PHP version is now configurable via `php/config.php` (set custom doc root and other PHP related things)
2011-11-01 19:56:55 -04:00
* image thumbs and zipped download is disabled by default now, but works fine if PHP is configured
2011-09-18 13:54:18 -04:00
2012-02-11 20:40:14 -05:00
### v0.15.2 - *2011-09-18*
2012-05-28 09:06:07 -04:00
* adds `it` translation by [Salvo Gentile](http://github.com/SalvoGentile) and [Marco Patriarca](http://github.com/Fexys)
* switches build process from scripp to wepp
2012-02-11 20:40:14 -05:00
### v0.15.1 - *2011-09-06*
2011-09-06 14:57:49 -04:00
2012-05-28 09:06:07 -04:00
* fixes security issues with the zipped download feature
* makes zipped download optional (but enabled by default)
2011-09-06 14:57:49 -04:00
2012-02-11 20:40:14 -05:00
### v0.15 - *2011-09-04*
2011-09-04 15:18:19 -04:00
2012-05-28 09:06:07 -04:00
* adds zipped download for selected files
* cleans and refactores
2011-09-04 15:18:19 -04:00
2012-02-11 20:40:14 -05:00
### v0.14.1 - *2011-09-01*
2011-09-01 08:27:58 -04:00
* display meta information in bottom bar (icon view)
2012-05-28 09:06:07 -04:00
* adds `zh-cn` translation by [Dongsheng Cai](http://github.com/dongsheng)
* adds `pl` translation by Radosław Zając
* adds `ru` translation by Богдан Илюхин
2011-09-01 08:27:58 -04:00
2012-02-11 20:40:14 -05:00
### v0.14 - *2011-08-16*
2011-08-16 15:03:09 -04:00
2012-05-28 09:06:07 -04:00
* adds image thumbnails for PHP version
2011-08-16 15:03:09 -04:00
* new option `slideTree` to turn off auto slide in
2012-02-11 20:40:14 -05:00
### v0.13.2 - *2011-08-12*
2011-08-12 13:04:14 -04:00
* changes in `/h5ai/.htaccess` ... PHP configuration ...
2012-02-11 20:40:14 -05:00
### v0.13.1 - *2011-08-12*
2012-05-28 09:06:07 -04:00
* fixes initial tree display
* adds sort order option
* adds/fixes some translations
* adds `lv` translation by Sandis Veinbergs
2012-02-11 20:40:14 -05:00
### v0.13 - *2011-08-06*
2011-07-30 07:19:28 -04:00
2012-05-28 09:06:07 -04:00
* adds PHP implementation! (should work with PHP 5.2+)
* adds new options
* changes layout of the bottom bar to display status information
* adds language selector to the bottom bar
* quotes keys in `options.js` to make it valid json
* 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 `bg` translation by George Andonov
2011-07-30 07:19:28 -04:00
2012-02-11 20:40:14 -05:00
### v0.12.3 - *2011-07-30*
2012-05-28 09:06:07 -04:00
* adds `tr` translation by [Batuhan Icoz](http://github.com/batuhanicoz)
2012-02-11 20:40:14 -05:00
### v0.12.2 - *2011-07-30*
2011-07-30 06:35:51 -04:00
2012-05-28 09:06:07 -04:00
* adds `es` translation by Jose David Calderon Serrano
2011-07-30 06:35:51 -04:00
2012-02-11 20:40:14 -05:00
### v0.12.1 - *2011-07-29*
2011-07-28 20:36:53 -04:00
2012-05-28 09:06:07 -04:00
* fixes unchecked use of console.log
2011-07-28 20:36:53 -04:00
2012-02-11 20:40:14 -05:00
### v0.12 - *2011-07-28*
2012-05-28 09:06:07 -04:00
* improves performance
2012-02-11 20:40:14 -05:00
### v0.11 - *2011-07-27*
2011-07-26 20:25:00 -04:00
2012-05-28 09:06:07 -04:00
* changes license to MIT license, see `LICENSE.txt`
2011-07-26 20:25:00 -04:00
2012-02-11 20:40:14 -05:00
### v0.10.2 - *2011-07-26*
2011-07-26 10:40:18 -04:00
2012-05-28 09:06:07 -04:00
* improves tree scrollbar
2011-07-26 10:40:18 -04:00
2012-02-11 20:40:14 -05:00
### v0.10.1 - *2011-07-24*
2011-07-24 12:05:44 -04:00
2012-05-28 09:06:07 -04:00
* fixes problems with ' in links
2011-07-24 12:05:44 -04:00
2012-02-11 20:40:14 -05:00
### v0.10 - *2011-07-24*
2012-05-28 09:06:07 -04:00
* 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))
* adds "empty" to localization (hope Google Translate did a good job here)
2012-02-11 20:40:14 -05:00
### v0.9 - *2011-07-18*
2012-05-28 09:06:07 -04:00
* links hover states between crumb, extended view and tree
* 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 `sv` translation by Oscar Carlsson
2012-02-11 20:40:14 -05:00
### v0.8 - *2011-07-08*
2012-05-28 09:06:07 -04:00
* removes slashes from folder labels
* optionally rename parent folder entries to real folder names, see `options.js`
2011-11-26 14:53:51 -05:00
* long breadcrumbs (multiple rows) no longer hide content
* error folder icons are opaque now
2012-05-28 09:06:07 -04:00
* refactores js a lot (again...)
2012-02-11 20:40:14 -05:00
### v0.7 - *2011-07-07*
2012-05-28 09:06:07 -04:00
* removes shadows
* smarter tree side bar
2012-02-11 20:40:14 -05:00
### v0.6 - *2011-07-05*
2011-07-04 19:39:45 -04:00
2012-05-28 09:06:07 -04:00
* refactores js
* adds localization, see `options.js`
2011-07-04 19:39:45 -04:00
2012-02-11 20:40:14 -05:00
### v0.5.3 - *2011-07-04*
2012-05-28 09:06:07 -04:00
* refactores js
* adds basic options support via `options.js`
* adds comments to `options.js`
* adds optional tree sidebar
2012-02-11 20:40:14 -05:00
### v0.5.2 - *2011-07-02*
2011-07-02 15:11:25 -04:00
* details view adjusts to window width
2012-05-28 09:06:07 -04:00
* links icon for *.gz and *.bz2
2011-07-02 15:11:25 -04:00
2012-02-11 20:40:14 -05:00
### v0.5.1 - *2011-07-01*
2011-07-01 09:32:22 -04:00
2012-05-28 09:06:07 -04:00
* disables tree sidebar for now, since it had unwanted side effects
2011-07-01 09:32:22 -04:00
2012-02-11 20:40:14 -05:00
### v0.5 - *2011-07-01*
2011-06-30 19:51:24 -04:00
2012-05-28 09:06:07 -04:00
* adds tree sidebar
2011-06-30 19:51:24 -04:00
* some refactorings
2012-02-11 20:40:14 -05:00
### v0.4 - *2011-06-27*
2012-05-28 09:06:07 -04:00
* adds better fallback, in case JavaScript is disabled
* rewrites js, fixed middle-button click etc. problems
* refactors css
* sorts, adds and moves icons and images
* updates dot.access
2012-02-11 20:40:14 -05:00
### v0.3.2 - *2011-06-24*
2011-06-24 16:18:44 -04:00
2012-05-28 09:06:07 -04:00
* removes lib versions from file names
* adds 'empty' indicator for icons view
2011-06-24 16:18:44 -04:00
2012-02-11 20:40:14 -05:00
### v0.3.1 - *2011-06-24*
2011-06-24 09:39:44 -04:00
2012-05-28 09:06:07 -04:00
* refactores js
* adds `folderClick` and `fileClick` callback hooks
* fixes .emtpy style
2011-06-24 09:39:44 -04:00
2012-02-11 20:40:14 -05:00
### v0.3 - *2011-06-23*
2011-06-23 14:35:28 -04:00
2012-05-28 09:06:07 -04:00
* includes build stuff, files previously found in the base directory are now located in folder `target`
2011-06-23 14:35:28 -04:00
* styles and scripts are now minified
2012-05-28 09:06:07 -04:00
* adds Modernizr 2.0.4 for future use
* updates jQuery to version 1.6.1
2011-06-23 14:35:28 -04:00
2011-06-16 15:20:18 -04:00
2012-02-11 20:40:14 -05:00
### v0.2.3 - *2011-06-17*
* more refactoring in main.js
2012-02-11 20:40:14 -05:00
### v0.2.2 - *2011-06-16*
2011-06-16 15:20:18 -04:00
2012-05-28 09:06:07 -04:00
* refactores a lot, adds some comments
* includes fixes from [NumEricR](http://github.com/NumEricR)
* adds top/bottom message support, only basicly styled
2011-06-16 15:20:18 -04:00
2012-02-11 20:40:14 -05:00
### v0.2.1 - *2011-06-16*
2011-06-15 19:24:49 -04:00
2012-05-28 09:06:07 -04:00
* fixes croped filenames
* fixes missing .png extension in header
* adds some color to the links
* adds changelog
2011-06-15 19:24:49 -04:00
2011-06-16 15:20:18 -04:00
2012-02-11 20:40:14 -05:00
### v0.2 - *2011-06-15*
2011-06-15 19:24:49 -04:00
2012-05-28 09:06:07 -04:00
* adds icon view
2011-06-15 19:24:49 -04:00