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

Compare commits

...

26 Commits

Author SHA1 Message Date
Lars Jung
89fd74c4ab Fixed problems with ' in links 2011-07-24 18:05:44 +02:00
Lars Jung
5708b2e38e * fixed problems with XAMPP on Windows (see dot.htaccess comments for instructions)
* fixed tree fade-in-fade-out effect for small displays ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* added custom scrollbar to tree ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* fixed broken links caused by URI encoding/decoding ([issue #9](http://github.com/lrsjng/h5ai/issues/9))
* added "empty" to localization (hope Google Translate did a good job here)
2011-07-24 15:25:43 +02:00
Lars Jung
2407cd50ce Merge pull request #7 from MarcoSharper/master
Czech and Slovak translation
2011-07-19 11:46:04 -07:00
Marek Hrabe
fbcb8cb5e8 Added Slovak translation 2011-07-19 20:38:09 +02:00
Marek Hrabe
d822eb63e2 Added Czech translation 2011-07-19 20:33:03 +02:00
Lars Jung
5245b131b8 Forgot to build target. 2011-07-18 23:24:26 +02:00
Lars Jung
0293d54789 Finally decided to release v0.9. Totally flushed by the feedback of the last 2 days. Thanks. See README.md for changes. 2011-07-18 23:22:24 +02:00
Lars Jung
0d4edcb047 Lots of changes. See README.md changelog. 2011-07-08 03:32:23 +02:00
Lars Jung
a339814582 Updated screenshots. 2011-07-07 02:59:10 +02:00
Lars Jung
8eac4ca133 Removed shadows. Reworked tree side bar. 2011-07-07 02:26:07 +02:00
Lars Jung
e4646734f2 Added localization. 2011-07-05 01:39:45 +02:00
Lars Jung
e54abe08ca Added folder effects to details and icons view. Moved some icons. 2011-07-04 20:14:24 +02:00
Lars Jung
faaddd8d60 Remove screenshots. 2011-07-04 16:31:05 +02:00
Lars Jung
d599425452 Some comments and documentation. 2011-07-04 16:26:35 +02:00
Lars Jung
3e6197d2fc Added comments in options.js. 2011-07-04 12:51:34 +02:00
Lars Jung
ecf93da505 Forgot to remove local options. 2011-07-04 02:24:12 +02:00
Lars Jung
e91a127771 Forgot to remove local options. 2011-07-04 02:23:43 +02:00
Lars Jung
b8fba3ac8e Added basic options support. Refactored js. 2011-07-04 02:18:27 +02:00
Lars Jung
b7387adfc8 Some fixes. 2011-07-02 21:11:25 +02:00
Lars Jung
8ee98ed7bd Disabled tree. 2011-07-01 15:32:22 +02:00
Lars Jung
067e0970f8 Added tree sidebar. 2011-07-01 01:51:24 +02:00
Lars Jung
13ddb670b8 Updated screenshots and readme. 2011-06-27 16:13:07 +02:00
Lars Jung
ed1a19dd5c Rewrote js. Added and sorted icons. Cleaned. Version 0.4. 2011-06-27 15:35:50 +02:00
Lars Jung
c06bfea09b Updated references. 2011-06-25 02:58:00 +02:00
Lars Jung
e3da1c2603 Updated references. 2011-06-25 02:54:52 +02:00
Lars Jung
e14787e258 Forgot to update readme. 2011-06-24 22:18:44 +02:00
297 changed files with 2161 additions and 754 deletions

5
.gitignore vendored
View File

@@ -4,9 +4,12 @@ bin
build build
#target #target
build.local.*
# Eclipse # Eclipse
.classpath .classpath
.ant-targets-build.xml .ant-targets-*
# Numerous always-ignore extensions # Numerous always-ignore extensions
*.diff *.diff

162
README.md
View File

@@ -1,40 +1,123 @@
# h5ai v0.3.1   ·   a beautified Apache index # h5ai v0.10.1   ·   a beautified Apache index
h5ai aims to make browsing files on a Apache HTTP server more comfortable.
See the [live demo](http://larsjung.de/h5ai/sample).
For installation instructions and documentation have a look at
[project page](http://larsjung.de/h5ai).
## Screenshots ## License and References
<a href="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.2.1-details.png" target="_blank"> <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>
<img src="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.2.1-details.png" width="400px" alt="screenshot" title="screenshot" style="display: inline" /> [h5ai](http://larsjung.de/h5ai) is provided under the terms of the [CC BY-SA 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/).
</a> It is based on
&#160; &#160; &#160; [HTML5 Boilerplate](http://html5boilerplate.com),
<a href="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.2.1-icons.png" target="_blank"> [jQuery](http://jquery.com),
<img src="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.2.1-icons.png" width="400px" alt="screenshot" title="screenshot" style="display: inline" /> [Modernizr](http://www.modernizr.com) and
</a> [Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228),
please respect their rights.
## Live example
View a [sample folder](http://repo.larsjung.de/h5ai-sample)
*(the files are all empty to save webspace)*
## Install
Everything you need is located in folder `target`.
* Copy folder `h5ai` to the web-root directory of your server or alternativly set an alias `/h5ai/` to
this folder.
* Add the content of file `dot.htaccess` to the `.htaccess` file inside the directory
you want to be styled (you might have to create this file). This directory and any subdirectories will be
styled by h5ai.
Optionally add `h5ai.header.html` and/or `h5ai.footer.html` files to any of the styled folders to [display
custom top or bottom sections](http://repo.larsjung.de/h5ai-sample/customize). The content of those files
will be wrapped by `<header>` and `<footer>` tags.
## Changelog ## Changelog
### v0.10.1
*2011-07-24*
* fixed problems with ' in links
### v0.10
*2011-07-24*
* fixed problems with XAMPP on Windows (see dot.htaccess comments for instructions)
* fixed tree fade-in-fade-out effect for small displays ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* added custom scrollbar to tree ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* fixed broken links caused by URI encoding/decoding ([issue #9](http://github.com/lrsjng/h5ai/issues/9))
* added "empty" to localization (hope Google Translate did a good job here)
### v0.9
*2011-07-18*
* linked hover states between crumb, extended view and tree
* fixed size of tree view (now there's a ugly scrollbar, hopefully will be fixed)
* refactored js to improve performance and cleaned code
* added caching for folder status codes and content
* added fr translation by [Nicolas](http://github.com/Nicosmos)
* added nl translation by [Stefan de Konink](http://github.com/skinkie)
* added sv translation by Oscar Carlsson
### v0.8
*2011-07-08*
* removed 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
* refactored js a lot (again...)
### v0.7
*2011-07-07*
* removed shadows
* smarter tree side bar
### v0.6
*2011-07-05*
* refactored js
* added localization, see `options.js`
### v0.5.3
*2011-07-04*
* refactored js
* added basic options support via `options.js`
* commented `options.js`
* optional tree sidebar
### v0.5.2
*2011-07-02*
* details view adjusts to window width
* linked icon for *.gz and *.bz2
### v0.5.1
*2011-07-01*
* disabled tree sidebar for now, since it had unwanted side effects
### v0.5
*2011-07-01*
* added tree sidebar
* some refactorings
### v0.4
*2011-06-27*
* added better fallback, in case JavaScript is disabled
* rewrote js, fixed middle-button click etc. problems
* refactored css
* sorted, added and moved icons and images
* updated dot.access
### v0.3.2
*2011-06-24*
* removed lib versions from file names
* added 'empty' indicator for icons view
### v0.3.1 ### v0.3.1
*2011-06-24* *2011-06-24*
@@ -81,22 +164,3 @@ will be wrapped by `<header>` and `<footer>` tags.
* added icon view * added icon view
## Author
[Lars Jung](http://larsjung.de)
[h5ai on github](http://github.com/lrsjng/h5ai)
## License
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>
This project is licensed under the [CC BY-SA 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/).
It is based on
[HTML5 Boilerplate](http://html5boilerplate.com),
[jQuery](http://jquery.com),
[Modernizr](http://www.modernizr.com) and
[Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228),
please respect their rights.

View File

@@ -3,7 +3,7 @@ custom = true
# project # project
project.name = h5ai project.name = h5ai
project.version = 0.3.2 project.version = 0.10.1
# src # src

View File

@@ -2,6 +2,7 @@
<project <project
name="h5ai" name="h5ai"
basedir="." basedir="."
default="build"
xmlns:scripp="antlib:de.larsjung.scripp.ant" xmlns:scripp="antlib:de.larsjung.scripp.ant"
> >
<target name="init"> <target name="init">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

View File

@@ -8,14 +8,16 @@
# Options +FollowSymLinks # Options +FollowSymLinks
################################ <IfModule headers_module>
# cache images for 52 weeks
################################ ################################
# cache images for 52 weeks
################################
<IfModule mod_headers.c>
<FilesMatch "\.png$"> <FilesMatch "\.png$">
Header set Cache-Control "max-age=31449600, public" Header set Cache-Control "max-age=31449600, public"
</FilesMatch> </FilesMatch>
</IfModule> </IfModule>
@@ -23,7 +25,13 @@
# style auto index # style auto index
################################ ################################
<IfModule mod_autoindex.c> ################################
# IMPORTANT FOR XAMPP
# if you're running XAMPP you might need to replace the
# following line with
# <IfModule autoindex_color_module>
################################
<IfModule autoindex_module>
################################ ################################
# uncomment the following line to force directory listing # uncomment the following line to force directory listing
@@ -54,6 +62,7 @@
IndexOrderDefault Ascending Name IndexOrderDefault Ascending Name
IndexOptions Type=text/html;h5ai=%BUILD_VERSION%
IndexOptions Charset=UTF-8 IndexOptions Charset=UTF-8
IndexOptions FancyIndexing IndexOptions FancyIndexing
IndexOptions HTMLTable IndexOptions HTMLTable
@@ -72,66 +81,66 @@
# icon mapping # icon mapping
################################ ################################
AddIcon /h5ai/icons/parent.png .. AddIcon /h5ai/icons/16x16/parent.png ..
AddIcon /h5ai/icons/folder.png ^^DIRECTORY^^ AddIcon /h5ai/icons/16x16/folder.png ^^DIRECTORY^^
AddIcon /h5ai/icons/blank.png ^^BLANKICON^^ AddIcon /h5ai/icons/16x16/blank.png ^^BLANKICON^^
AddIcon /h5ai/icons/readme.png README AddIcon /h5ai/icons/16x16/readme.png README
AddIcon /h5ai/icons/copying.png COPYING LICENSE AddIcon /h5ai/icons/16x16/copying.png COPYING LICENSE
AddIcon /h5ai/icons/install.png INSTALL AddIcon /h5ai/icons/16x16/install.png INSTALL
AddIcon /h5ai/icons/authors.png AUTHORS AddIcon /h5ai/icons/16x16/authors.png AUTHORS
AddIcon /h5ai/icons/log.png LOG Log log AddIcon /h5ai/icons/16x16/log.png LOG Log log
AddIcon /h5ai/icons/css.png .less AddIcon /h5ai/icons/16x16/css.png .less
AddIcon /h5ai/icons/script.png .conf .ini .sh .shar .csh .ksh .tcl AddIcon /h5ai/icons/16x16/script.png .conf .ini .sh .shar .csh .ksh .tcl
AddIcon /h5ai/icons/makefile.png .pom pom.xml build.xml AddIcon /h5ai/icons/16x16/makefile.png .pom pom.xml build.xml
AddIcon /h5ai/icons/bin.png .so .o AddIcon /h5ai/icons/16x16/bin.png .so .o
AddIcon /h5ai/icons/zip.png .zip .Z .z .jar .war AddIcon /h5ai/icons/16x16/archive.png .tar.gz .tgz .tar.bz2
AddIcon /h5ai/icons/tar.png .tar AddIcon /h5ai/icons/16x16/zip.png .zip .Z .z .jar .war .gz .bz2
AddIcon /h5ai/icons/archive.png .tar.gz .tgz .tar.bz2 AddIcon /h5ai/icons/16x16/tar.png .tar
AddIcon /h5ai/icons/pdf.png .pdf AddIcon /h5ai/icons/16x16/pdf.png .pdf
AddIcon /h5ai/icons/deb.png .deb AddIcon /h5ai/icons/16x16/deb.png .deb
AddIcon /h5ai/icons/rpm.png .rpm AddIcon /h5ai/icons/16x16/rpm.png .rpm
AddIcon /h5ai/icons/cd.png .iso .cue AddIcon /h5ai/icons/16x16/cd.png .iso .cue
AddIconByType /h5ai/icons/png.png image/png AddIconByType /h5ai/icons/16x16/png.png image/png
AddIconByType /h5ai/icons/jpg.png image/jpeg AddIconByType /h5ai/icons/16x16/jpg.png image/jpeg
AddIconByType /h5ai/icons/gif.png image/gif AddIconByType /h5ai/icons/16x16/gif.png image/gif
AddIconByType /h5ai/icons/ico.png image/x-icon AddIconByType /h5ai/icons/16x16/ico.png image/x-icon
AddIconByType /h5ai/icons/bmp.png image/x-ms-bmp AddIconByType /h5ai/icons/16x16/bmp.png image/x-ms-bmp
AddIconByType /h5ai/icons/html.png text/html AddIconByType /h5ai/icons/16x16/html.png text/html
AddIconByType /h5ai/icons/css.png text/css AddIconByType /h5ai/icons/16x16/css.png text/css
AddIconByType /h5ai/icons/xml.png application/xml AddIconByType /h5ai/icons/16x16/xml.png application/xml
AddIconByType /h5ai/icons/js.png application/javascript application/json AddIconByType /h5ai/icons/16x16/js.png application/javascript application/json
AddIconByType /h5ai/icons/php.png application/x-httpd-php AddIconByType /h5ai/icons/16x16/php.png application/x-httpd-php
AddIconByType /h5ai/icons/py.png text/x-python AddIconByType /h5ai/icons/16x16/py.png text/x-python
AddIconByType /h5ai/icons/rb.png application/x-ruby AddIconByType /h5ai/icons/16x16/rb.png application/x-ruby
AddIconByType /h5ai/icons/java.png text/x-java AddIconByType /h5ai/icons/16x16/java.png text/x-java
AddIconByType /h5ai/icons/cpp.png text/x-c++src AddIconByType /h5ai/icons/16x16/cpp.png text/x-c++src
AddIconByType /h5ai/icons/hpp.png text/x-c++hdr AddIconByType /h5ai/icons/16x16/hpp.png text/x-c++hdr
AddIconByType /h5ai/icons/c.png text/x-csrc AddIconByType /h5ai/icons/16x16/c.png text/x-csrc
AddIconByType /h5ai/icons/h.png text/x-chdr AddIconByType /h5ai/icons/16x16/h.png text/x-chdr
AddIconByType /h5ai/icons/pdf.png application/pdf AddIconByType /h5ai/icons/16x16/pdf.png application/pdf
AddIconByType /h5ai/icons/rtf.png text/rtf application/rtf AddIconByType /h5ai/icons/16x16/rtf.png text/rtf application/rtf
AddIconByType /h5ai/icons/tex.png text/x-tex AddIconByType /h5ai/icons/16x16/tex.png text/x-tex
AddIconByType /h5ai/icons/makefile.png text/x-makefile AddIconByType /h5ai/icons/16x16/makefile.png text/x-makefile
AddIconByType /h5ai/icons/bin.png application/java-vm AddIconByType /h5ai/icons/16x16/bin.png application/java-vm
AddIconByType /h5ai/icons/exe.png application/x-executable application/x-msdos-program AddIconByType /h5ai/icons/16x16/exe.png application/x-executable application/x-msdos-program
AddIconByType /h5ai/icons/text.png text/* AddIconByType /h5ai/icons/16x16/text.png text/*
AddIconByType /h5ai/icons/image.png image/* AddIconByType /h5ai/icons/16x16/image.png image/*
AddIconByType /h5ai/icons/audio.png audio/* AddIconByType /h5ai/icons/16x16/audio.png audio/*
AddIconByType /h5ai/icons/video.png video/* AddIconByType /h5ai/icons/16x16/video.png video/*
AddIconByEncoding /h5ai/icons/zip.png x-compress x-gzip x-bzip2 AddIconByEncoding /h5ai/icons/16x16/zip.png x-compress x-gzip x-bzip2
DefaultIcon /h5ai/icons/unknown.png DefaultIcon /h5ai/icons/16x16/unknown.png
</IfModule> </IfModule>

View File

@@ -0,0 +1,209 @@
#extended.details-view {
display: none;
ul {
margin: 0;
padding: 0;
list-style: none;
li {
position: relative;
white-space: nowrap;
clear: both;
&.header {
a, a:active, a:visited {
padding-bottom: 18px;
color: #555;
text-decoration: none;
opacity: 0.4;
cursor: pointer;
.transition( all 0.2s ease-in-out );
&:hover {
color: #555;
opacity: 0.9;
}
img {
width: 12px;
height: 12px;
padding: 0 8px;
}
}
}
&.entry {
border-bottom: 1px solid #ddd;
a, a:active, a:visited {
display: block;
color: #555;
text-decoration: none;
cursor: pointer;
&:hover, &.hover {
background-color: #f6f6f6;
color: #e80;
}
}
&.error {
a, a:active, a:visited {
color: #aaa;
.label {
.hint {
margin-left: 12px;
font-size: 0.9em;
color: #c55;
}
}
&:hover, &.hover {
opacity: 1;
background-color: #f6f6f6;
color: #e80;
}
}
}
}
.icon, .label, .date, .size {
padding: 6px;
}
.icon {
display: inline-block;
position: absolute;
left: 0;
top: 2px;
width: 16px;
img {
width: 16px;
height: 16px;
}
}
.icon.big {
display: none;
}
.label {
display: block;
margin: 0 270px 0 24px;
overflow: hidden;
white-space: nowrap;
text-align: left;
}
.date {
position: absolute;
right: 100px;
top: 0;
text-align: right;
width: 160px;
white-space: nowrap;
}
.size {
position: absolute;
right: 0;
top: 0;
text-align: right;
width: 80px;
white-space: nowrap;
}
}
}
.empty {
text-align: center;
margin: 50px 0;
color: #ddd;
font-size: 5em;
font-weight: bold;
}
}
#extended.icons-view {
display: none;
padding: 3px;
border: 1px solid #eee;
border-radius: 15px;
ul {
margin: 0;
padding: 0;
list-style: none;
li {
&.header {
display: none;
}
&.entry {
float: left;
a, a:active, a:visited {
display: block;
margin: 8px;
padding: 8px;
width: 100px;
height: 120px;
float: left;
text-align: center;
text-decoration: none;
overflow: hidden;
border-radius: 5px;
color: #555;
cursor: pointer;
border: 2px solid rgba(0,0,0,0);
&:hover, &.hover {
color: #e80;
border-color: #eee;
background-color: #f6f6f6;
}
.icon {
display: block;
img {
width: 48px;
height: 48px;
margin-bottom: 8px;
}
}
.icon.small {
display: none;
}
.label {
display: block;
word-wrap: break-word;
}
.date, .size {
display: none;
}
}
&.error {
a, a:active, a:visited {
color: #aaa;
text-decoration: none;
.label {
.hint {
padding: 0 6px;
font-size: 0.9em;
color: #c55;
}
}
&:hover, &.hover {
color: #e80;
border-color: #eee;
background-color: #f6f6f6;
}
}
}
}
}
}
.empty {
padding: 16px;
height: 120px;
text-align: center;
color: #ddd;
font-size: 5em;
font-weight: bold;
}
}

View File

@@ -1,87 +1,38 @@
.border-radius ( @radius: 5px ) { .border-radius ( @radius ) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius; -moz-border-radius: @radius;
-webkit-border-radius: @radius;
border-radius: @radius; border-radius: @radius;
} }
.border-top-right-radius ( @radius: 5px ) { .box-shadow ( @shadow ) {
-webkit-border-top-right-radius: @radius; -moz-box-shadow: @shadow;
-moz-border-radius-topright: @radius; -webkit-box-shadow: @shadow;
border-top-right-radius: @radius; box-shadow: @shadow;
} }
.border-bottom-right-radius ( @radius: 5px ) { .transition ( @transition ) {
-webkit-border-bottom-right-radius: @radius; -moz-transition: @transition;
-moz-border-radius-bottomright: @radius; -ms-transition: @transition;
border-bottom-right-radius: @radius; -o-transition: @transition;
-webkit-transition: @transition;
transition: @transition;
} }
.box-shadow ( @x: 10px, @y: 10px, @blur: 5px, @color: #ccc ) { .transform ( @transform ) {
-webkit-box-shadow: @x @y @blur @color; -moz-transform: @transform;
-moz-box-shadow: @x @y @blur @color; -o-transform: @transform;
box-shadow: @x @y @blur @color; -webkit-transform: @transform;
transform: @transform;
} }
.transition ( @transitions ) { .background-size ( @size ) {
-webkit-transition: @transitions; -moz-background-size: @size;
-moz-transition: @transitions; -webkit-background-size: @size;
-o-transition: @transitions; background-size: @size;
transition: @transitions;
} }
.transform ( @transforms ) {
-webkit-transform: @transforms;
-moz-transform: @transforms;
-o-transform: @transforms;
transform: @transforms;
}
.rhythm ( @height, @size ) {
@base: @size / 16;
font-size: 1% * @base * 100;
@factor: @height / @size;
@rhythm: 1em * @factor;
p {
font-size: 1em;
line-height: @rhythm;
margin-top: @rhythm;
margin-bottom: @rhythm;
}
h1 {
font-size: @rhythm;
line-height: 1em;
margin-bottom: 1em;
margin-top: 1em;
}
h2 {
font-size: @rhythm / 1.1;
line-height: 1.1em;
margin-bottom: 1.1em;
margin-top: 1.1em;
}
h3 {
font-size: @rhythm / 1.2;
line-height: 1.2em;
margin-bottom: 1.2em;
margin-top: 1.2em;
}
h4 {
font-size: @rhythm / 1.3;
line-height: 1.3em;
margin-bottom: 1.3em;
margin-top: 1.3em;
}
}

View File

@@ -0,0 +1,68 @@
#table {
table {
display: block;
width: 100%;
border-collapse: collapse;
th, td {
padding: 3px 6px;
text-align: left;
border: none;
}
th {
padding-bottom: 18px;
opacity: 0.4;
.transition( all 0.2s ease-in-out );
&:hover, &:hover a {
color: #555;
cursor: pointer;
opacity: 0.9;
}
a, a:visited {
color: #555;
font-weight: normal;
img {
width: 12px;
height: 12px;
padding: 0 8px;
}
}
}
td {
border: 1px solid #ddd;
border-left: none;
border-right: none;
}
td:nth-child(1), th:nth-child(1) {
text-align: center;
width: 16px;
img {
width: 16px;
height: 16px;
padding-top: 2px;
}
}
td:nth-child(2), th:nth-child(2) {
width: 682px;
max-width: 682px;
overflow: hidden;
white-space: nowrap;
}
td:nth-child(3), th:nth-child(3) {
text-align: right;
width: 160px;
min-width: 160px;
white-space: nowrap;
}
td:nth-child(4), th:nth-child(4) {
text-align: right;
width: 70px;
min-width: 70px;
white-space: nowrap;
}
}
}

128
src/h5ai/css/inc/tree.less Normal file
View File

@@ -0,0 +1,128 @@
#tree {
position: fixed;
display: none;
left: 0;
top: 0;
overflow: auto;
font-size: 0.85em;
padding: 16px 32px 16px 16px;
background-color: rgb(241,241,241);
border: 2px solid rgb(210,210,210);
border-left: none;
.border-radius ( 0 15px 15px 0 );
> .scrollbar {
margin: 12px;
width: 6px;
background-color: rgb(210,210,210);
.border-radius( 3px );
.drag {
background-color: rgb(180,180,180);
.border-radius( 3px );
}
&.dragOn .drag {
background-color: rgb(150,150,150);
}
}
.entry {
.blank, .indicator {
display: inline-block;
width: 16px;
height: 25px;
float: left;
}
.indicator {
opacity: 0.7;
.transition( all 0.2s ease-in-out );
cursor: pointer;
&:hover {
opacity: 1;
}
img {
position: relative;
left: 0;
top: 3px;
width: 12px;
height: 12px;
vertical-align: bottom;
.transition( all 0.2s ease-in-out );
}
&.open {
img {
.transform( rotate(90deg) );
}
}
&.unknown {
opacity: 0.3;
}
}
> a, > a:active, > a.visited {
margin-left: 16px;
padding: 4px 6px;
border: 1px solid rgba(0,0,0,0);
.border-radius( 5px );
display: block;
color: #555;
text-decoration: none;
opacity: 0.7;
&:hover, &.hover {
color: #e80;
background-color: rgba(255,255,255,0.5);
opacity: 1;
}
.label {
display: inline-block;
}
.icon {
display: inline-block;
width: 20px;
img {
width: 16px;
height: 16px;
vertical-align: bottom;
}
}
.hint {
display: inline-block;
margin-left: 12px;
font-size: 0.9em;
color: #ccc;
img {
width: 10px;
height: 10px;
vertical-align: baseline;
}
}
}
&.file {
display: none;
}
&.current {
> a, > a:active, > a:visited {
border: 1px solid rgb(221,221,221);
background-color: rgba(255,255,255,0.5);
opacity: 1;
}
}
&.error {
> a, > a:active, > a:visited {
color: #999;
&:hover, &.hover {
color: #e80;
}
}
.hint {
color: #c55;
}
}
.content {
list-style: none;
margin-left: 20px;
}
}
}

View File

@@ -3,6 +3,18 @@
@import "inc/mixins"; @import "inc/mixins";
html.js {
.jsDisabledFallback {
display: none;
}
}
html.no-js {
body > nav ul {
display: none;
}
}
body { body {
font-family: Ubuntu, sans-serif; font-family: Ubuntu, sans-serif;
font-size: 16px; font-size: 16px;
@@ -11,16 +23,6 @@ body {
} }
a, a:visited {
color: #555;
text-decoration: none;
&:hover {
color: #e80;
}
}
body > nav { body > nav {
position: fixed; position: fixed;
z-index: 1; z-index: 1;
@@ -28,34 +30,37 @@ body > nav {
left: 0; left: 0;
top: 0; top: 0;
font-size: 0.85em; font-size: 0.85em;
background-color: rgb(240,240,240); background-color: rgb(241,241,241);
border-bottom: 1px solid rgb(225,225,225); border-bottom: 2px solid rgb(210,210,210);
.box-shadow( 0, 0, 30px, #555 );
li { span.jsDisabledFallback {
display: block;
height: 30px;
line-height: 30px;
padding: 0 10px;
color: #999;
}
a, a:active, a:visited {
color: #555;
cursor: pointer; cursor: pointer;
text-decoration: none;
opacity: 0.7; opacity: 0.7;
.transition( all 0.2s ease-in-out ); .transition( all 0.2s ease-in-out );
&.crumb { display: block;
float: left; height: 30px;
border-right: 1px dotted rgb(225,225,225); line-height: 30px;
} padding: 0 10px;
&.view {
float: right; &:hover, &.hover {
border-left: 1px dotted rgb(225,225,225);
}
&:hover, &:hover a {
color: #e80; color: #e80;
background-color: rgba(255,255,255,0.5); background-color: rgba(255,255,255,0.5);
opacity: 1.0; opacity: 1.0;
} }
} }
a { .current a {
display: block; background-color: rgba(255,255,255,0.5);
height: 30px; opacity: 1.0;
line-height: 30px;
padding: 0 10px;
} }
img { img {
width: 16px; width: 16px;
@@ -63,11 +68,30 @@ body > nav {
vertical-align: bottom; vertical-align: bottom;
padding: 0 6px 6px 0; padding: 0 6px 6px 0;
} }
.crumb {
float: left;
border-right: 1px solid rgb(231,231,231);
.hint {
margin-left: 8px;
font-style: italic;
color: #999;
}
img.hint {
width: 10px;
height: 10px;
vertical-align: baseline;
padding: 0px;
}
}
.view {
float: right;
border-left: 1px solid rgb(231,231,231);
}
} }
#content { #content {
max-width: 980px; max-width: 960px;
margin: 0 auto; margin: 0 auto;
> header { > header {
@@ -85,127 +109,9 @@ body > nav {
} }
#details { @import "inc/table";
display: none; @import "inc/extended";
@import "inc/tree";
table {
display: block;
width: 100%;
border-collapse: collapse;
tr.entry:hover, tr.entry:hover a {
background-color: #f0f0f0;
color: #e80;
cursor: pointer;
}
th, td {
padding: 3px 6px;
text-align: left;
border: none;
}
th {
padding-bottom: 18px;
opacity: 0.4;
.transition( all 0.2s ease-in-out );
&.header:hover, &.header:hover a {
color: #555;
cursor: pointer;
opacity: 0.9;
}
a, a:visited {
color: #555;
font-weight: normal;
img {
width: 12px;
height: 12px;
padding: 0 8px;
}
}
}
td {
border: 1px solid #ddd;
border-left: none;
border-right: none;
}
.icon {
text-align: center;
width: 16px;
img {
width: 16px;
height: 16px;
padding-top: 2px;
}
}
.name {
width: 682px;
max-width: 682px;
overflow: hidden;
white-space: nowrap;
}
.date {
text-align: right;
width: 160px;
min-width: 160px;
white-space: nowrap;
}
.size {
text-align: right;
width: 70px;
min-width: 70px;
white-space: nowrap;
}
}
.empty {
text-align: center;
margin: 50px 0;
color: #ddd;
font-size: 5em;
font-weight: bold;
}
}
#icons {
display: none;
padding: 10px;
border: 1px solid #eee;
border-radius: 15px;
.entry {
margin: 8px;
padding: 8px;
width: 100px;
height: 120px;
float: left;
text-align: center;
overflow: hidden;
border-radius: 5px;
cursor: pointer;
border: 1px solid rgba(0,0,0,0);
&:hover {
color: #e80;
border-color: #eee;
.box-shadow( 0, 0, 20px, #999 );
}
img {
width: 48px;
height: 48px;
margin-bottom: 8px;
}
}
.empty {
padding: 16px;
height: 120px;
text-align: center;
color: #ddd;
font-size: 5em;
font-weight: bold;
}
}
body > footer { body > footer {
@@ -215,15 +121,16 @@ body > footer {
left: 0; left: 0;
bottom: 0; bottom: 0;
padding: 10px 0; padding: 10px 0;
border-top: 1px solid rgb(225,225,225); background-color: rgb(241,241,241);
background-color: rgb(240,240,240); border-top: 2px solid rgb(210,210,210);
color: #999; color: #999;
font-size: 0.85em; font-size: 0.85em;
text-align: center; text-align: center;
.box-shadow( 0, 0, 30px, #555 );
a, a:visited { a, a:active, a:visited {
color: #555; color: #555;
text-decoration: none;
.transition( all 0.2s ease-in-out ); .transition( all 0.2s ease-in-out );
&:hover { &:hover {
@@ -237,15 +144,14 @@ body > footer {
position: absolute; position: absolute;
left: 6px; left: 6px;
bottom: 6px; bottom: 6px;
float: left; opacity: 0.4;
.transition( all 0.2s ease-in-out );
img { img {
width: 20px; width: 20px;
height: 20px; height: 20px;
opacity: 0.4;
.transition( all 0.2s ease-in-out );
} }
&:hover img { &:hover {
opacity: 0.8; opacity: 0.8;
} }
} }

View File

@@ -1,8 +1,9 @@
<!-- generated code ends here --> <!-- generated code ends here -->
</section> </section>
<section id="icons"></section> <section id="extended"></section>
<footer></footer> <footer></footer>
</section> </section>
<section id="tree"></section>
<footer> <footer>
<a id="html5" href="http://www.w3.org/html/logo/" target="_blank" title="HTML5 semantics, storage & CSS3"> <a id="html5" href="http://www.w3.org/html/logo/" target="_blank" title="HTML5 semantics, storage & CSS3">
<img class="logo" src="/h5ai/images/html5.png" alt="html5" /> <img class="logo" src="/h5ai/images/html5.png" alt="html5" />
@@ -10,14 +11,13 @@
<img class="techclass" src="/h5ai/images/html5-storage.png" alt="html5-storage" /> <img class="techclass" src="/h5ai/images/html5-storage.png" alt="html5-storage" />
<img class="techclass" src="/h5ai/images/html5-css3.png" alt="html5-css3" /> <img class="techclass" src="/h5ai/images/html5-css3.png" alt="html5-css3" />
</a> </a>
<a href="http://github.com/lrsjng/h5ai" target="_blank" title="%BUILD_NAME% %BUILD_VERSION%">h5ai</a> <a href="http://larsjung.de/h5ai" target="_blank" title="h5ai project page">h5ai %BUILD_VERSION%</a>
using <span class="l10n-footerUsing">using</span>
<a href="http://html5boilerplate.com" target="_blank" title="a rock-solid default for HTML5 awesome">HTML5 Boilerplate</a>
and
<a href="http://tiheum.deviantart.com/art/Faenza-Icons-173323228" target="_blank" title="icon theme for Gnome">Faenza icons</a> <a href="http://tiheum.deviantart.com/art/Faenza-Icons-173323228" target="_blank" title="icon theme for Gnome">Faenza icons</a>
</footer> </footer>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery.min.js"><\/script>' )</script> <script>window.jQuery || document.write( '<script src="/h5ai/js/lib/jquery.min.js"><\/script>' )</script>
<script src="/h5ai/options.js"></script>
<script src="/h5ai/js/main.js"></script> <script src="/h5ai/js/main.js"></script>
</body> </body>
</html> </html>

View File

@@ -3,27 +3,30 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Directory index · styled with h5ai</title> <title>Directory index · styled with h5ai</title>
<meta name="h5ai-version" content="%BUILD_NAME% %BUILD_VERSION%"> <meta name="h5ai-version" content="h5ai %BUILD_VERSION%">
<meta name="description" content="Directory index styled with h5ai (http://github.com/lrsjng/h5ai)"> <meta name="description" content="Directory index styled with h5ai (http://larsjung.de/h5ai)">
<meta name="keywords" content="directory, index, autoindex, h5ai"> <meta name="keywords" content="directory, index, autoindex, h5ai">
<link rel="shortcut icon" href="/h5ai/icons/folder.png" /> <link rel="shortcut icon" type="image/png" href="/h5ai/images/h5ai-16x16.png">
<link rel="apple-touch-icon" href="/h5ai/images/folder.png"> <link rel="apple-touch-icon" type="image/png" href="/h5ai/images/h5ai-48x48.png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold"> <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold">
<link rel="stylesheet" type="text/css" href="/h5ai/css/main.css"> <link rel="stylesheet" type="text/css" href="/h5ai/css/main.css">
<script src="/h5ai/js/lib/modernizr.min.js"></script> <script src="/h5ai/js/lib/modernizr.min.js"></script>
</head> </head>
<body> <body>
<nav> <nav class="clearfix">
<span class="jsDisabledFallback">Directory index · JavaScript is disabled</span>
<ul> <ul>
<li id="domain" class="crumb"><a href="/"><img src="/h5ai/icons/home.png" alt="domain" /><span>domain</span></a></li> <li id="viewicons" class="view">
<li id="viewicons" class="view"><a href="#"><img src="/h5ai/icons/view-icons.png" alt="view-icons" />icons</a></li> <a href="#"><img src="/h5ai/images/view-icons.png" alt="view-icons" /><span class="l10n-viewIcons">icons</span></a>
<li id="viewdetails" class="view" ><a href="#"><img src="/h5ai/icons/view-details.png" alt="view-details" />details</a></li> </li>
<li id="viewdetails" class="view" >
<a href="#"><img src="/h5ai/images/view-details.png" alt="view-details" /><span class="l10n-viewDetails">details</span></a>
</li>
</ul> </ul>
<div class="clearfix"></div>
</nav> </nav>
<section id="content"> <section id="content">
<header></header> <header></header>
<section id="details"> <section id="table" class="jsDisabledFallback">
<!-- <!--
The following code was generated by apache's autoindex module. It is not valid HTML 5 for the The following code was generated by apache's autoindex module. It is not valid HTML 5 for the
reason, that 'align' and 'valign' attributes on the td element are obsolete. Both of them are reason, that 'align' and 'valign' attributes on the td element are obsolete. Both of them are

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: 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

View File

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 409 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

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: 614 B

After

Width:  |  Height:  |  Size: 614 B

View File

Before

Width:  |  Height:  |  Size: 494 B

After

Width:  |  Height:  |  Size: 494 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: 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

View File

Before

Width:  |  Height:  |  Size: 586 B

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

Binary file not shown.

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

View File

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 739 B

View File

Before

Width:  |  Height:  |  Size: 585 B

After

Width:  |  Height:  |  Size: 585 B

View File

Before

Width:  |  Height:  |  Size: 617 B

After

Width:  |  Height:  |  Size: 617 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 997 B

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

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