/h5ai

a modern HTTP web server index for Apache httpd, lighttpd, nginx and Cherokee

Primary LanguageJavaScriptMIT LicenseMIT

h5ai

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 on GitHub!

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.

Build

( there are repositories of the latest releases and dev builds )

If you want to build h5ai yourself you need to install the build tool 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.

It profits from these great projects: Faenza icon set (GPL), HTML5 ★ Boilerplate (MIT), jQuery (MIT), jQuery.filedrop (MIT), jQuery.fracs (MIT), jQuery.mousewheel (MIT), jQuery.qrcode (MIT), jQuery.scrollpanel (MIT), markdown-js (MIT), Modernizr (MIT/BSD), modulejs (MIT), Moment.js (MIT), spin.js (MIT), SyntaxHighlighter (MIT/GPL), Underscore.js (MIT)

Changelog

( h5ai uses semantic versioning )

develop branch

  • removes aai mode!
  • adds smart browsing
  • add line wrap and line highlighting (on hover) to text preview

v0.22.1 - 2012-10-16

  • bug fix concerning API requests in PHP mode
  • minor changes in responsive styles

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
  • updates 3rd party libs

v0.21 - 2012-08-06

  • fixes misaligned image previews
  • adds no JavaScript fallback to PHP version
  • fixes duplicate tree entries and empty main views
  • adds Google Analytics support (async)
  • 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 (same keys as img preview)
  • adds Markdown preview with markdown-js
  • adds new type markdown
  • changes language code gr to el
  • adds localization for filter placeholder
  • adds hu translation by Rodolffo
  • updates to jQuery.qrcode 0.2
  • updates to jQuery.scrollpanel 0.1
  • updates to modulejs 0.2
  • updates to Moment.js 1.7.0
  • updates to Underscore.js 1.3.3

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

  • 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
  • fixes problems with file type recognition
  • adds an info page at /_h5ai/
  • sort order is preserved while browsing
  • removes PHP error messages on thumbnail generation
  • fixes PHP some problems with packed download
  • adds support for tarred downloads
  • changes crumb image for folders with an index file
  • adds index.php to use h5ai in non-Apache environments
  • switches from Datejs to Moment.js
  • adds underscore.js
  • fixes mousewheel problems, updates jQuery.mousewheel to 3.0.6
  • updates lv translation
  • adds ro translation by Jakob Cosoroabă
  • adds ja translation by metasta
  • adds nb translation by Sindre Sorhus
  • adds sr translation by vBm
  • adds gr translation by xhmikosr

v0.18 - 2012-02-24

  • 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
  • changes h5ai.htaccess
  • custom headers/footers are now optional and disabled by default
  • fixes problems with folder recognition in the JS version
  • fixes include problems in PHP version
  • fixes path problems on servers running on Windows in PHP version
  • fixes broken links in custom headers/footers while zipped download enabled
  • fixes problems with thumbnails for files with single or double quotes in filename
  • improves url hashes
  • updates year in LICENSE.TXT
  • updates es translation
  • adds zh-tw translation by Yao Wei
  • updates zh-cn translation

v0.17 - 2011-11-28

  • 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)

v0.16 - 2011-11-02

  • sorts translations in options.js
  • improves HTML head sections
  • refactors JavaScript and PHP a lot
  • improves/fixes file selection for zipped download
  • fixes scrollbar and header/footer link issues (didn't work when zipped download enabled)
  • 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)
  • image thumbs and zipped download is disabled by default now, but works fine if PHP is configured

v0.15.2 - 2011-09-18

v0.15.1 - 2011-09-06

  • fixes security issues with the zipped download feature
  • makes zipped download optional (but enabled by default)

v0.15 - 2011-09-04

  • adds zipped download for selected files
  • cleans and refactores

v0.14.1 - 2011-09-01

  • display meta information in bottom bar (icon view)
  • adds zh-cn translation by Dongsheng Cai
  • adds pl translation by Radosław Zając
  • adds ru translation by Богдан Илюхин

v0.14 - 2011-08-16

  • adds image thumbnails for PHP version
  • new option slideTree to turn off auto slide in

v0.13.2 - 2011-08-12

  • changes in /h5ai/.htaccess ... PHP configuration ...

v0.13.1 - 2011-08-12

  • fixes initial tree display
  • adds sort order option
  • adds/fixes some translations
  • adds lv translation by Sandis Veinbergs

v0.13 - 2011-08-06

  • 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
  • adds bg translation by George Andonov

v0.12.3 - 2011-07-30

v0.12.2 - 2011-07-30

  • adds es translation by Jose David Calderon Serrano

v0.12.1 - 2011-07-29

  • fixes unchecked use of console.log

v0.12 - 2011-07-28

  • improves performance

v0.11 - 2011-07-27

  • changes license to MIT license, see LICENSE.txt

v0.10.2 - 2011-07-26

  • improves tree scrollbar

v0.10.1 - 2011-07-24

  • fixes problems with ' in links

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)
  • adds custom scrollbar to tree (issue #6)
  • fixes broken links caused by URI encoding/decoding (issue #9)
  • adds "empty" to localization (hope Google Translate did a good job here)

v0.9 - 2011-07-18

  • 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
  • adds nl translation by Stefan de Konink
  • adds sv translation by Oscar Carlsson

v0.8 - 2011-07-08

  • removes slashes from folder labels
  • optionally rename parent folder entries to real folder names, see options.js
  • long breadcrumbs (multiple rows) no longer hide content
  • error folder icons are opaque now
  • refactores js a lot (again...)

v0.7 - 2011-07-07

  • removes shadows
  • smarter tree side bar

v0.6 - 2011-07-05

  • refactores js
  • adds localization, see options.js

v0.5.3 - 2011-07-04

  • refactores js
  • adds basic options support via options.js
  • adds comments to options.js
  • adds optional tree sidebar

v0.5.2 - 2011-07-02

  • details view adjusts to window width
  • links icon for *.gz and *.bz2

v0.5.1 - 2011-07-01

  • disables tree sidebar for now, since it had unwanted side effects

v0.5 - 2011-07-01

  • adds tree sidebar
  • some refactorings

v0.4 - 2011-06-27

  • 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

v0.3.2 - 2011-06-24

  • removes lib versions from file names
  • adds 'empty' indicator for icons view

v0.3.1 - 2011-06-24

  • refactores js
  • adds folderClick and fileClick callback hooks
  • fixes .emtpy style

v0.3 - 2011-06-23

  • includes build stuff, files previously found in the base directory are now located in folder target
  • styles and scripts are now minified
  • adds Modernizr 2.0.4 for future use
  • updates jQuery to version 1.6.1

v0.2.3 - 2011-06-17

  • more refactoring in main.js

v0.2.2 - 2011-06-16

  • refactores a lot, adds some comments
  • includes fixes from NumEricR
  • adds top/bottom message support, only basicly styled

v0.2.1 - 2011-06-16

  • fixes croped filenames
  • fixes missing .png extension in header
  • adds some color to the links
  • adds changelog

v0.2 - 2011-06-15

  • adds icon view