diff --git a/README.md b/README.md index 941922d7..43b787b2 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,12 @@ It uses the [Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-1733 ## Changelog +### v0.15 · *2011-09-04* + +* added zipped download for selected files +* cleaned and refactored + + ### v0.14.1 · *2011-09-01* * display meta information in bottom bar (icon view) diff --git a/build.properties b/build.properties index 7489a847..c5e25966 100644 --- a/build.properties +++ b/build.properties @@ -3,7 +3,7 @@ custom = true # project project.name = h5ai -project.version = 0.14.1 +project.version = 0.15 # src diff --git a/build.xml b/build.xml index 1a0e4a88..c092db9c 100644 --- a/build.xml +++ b/build.xml @@ -1,81 +1,81 @@ - - - - - - - Build: ${build.label} + + + + + + + Build: ${build.label} - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/release/h5ai-0.14.1.tar.gz b/release/h5ai-0.14.1.tar.gz deleted file mode 100644 index 455922d0..00000000 Binary files a/release/h5ai-0.14.1.tar.gz and /dev/null differ diff --git a/release/h5ai-0.15.tar.gz b/release/h5ai-0.15.tar.gz new file mode 100644 index 00000000..1f44b77f Binary files /dev/null and b/release/h5ai-0.15.tar.gz differ diff --git a/release/h5ai-0.14.1.zip b/release/h5ai-0.15.zip similarity index 78% rename from release/h5ai-0.14.1.zip rename to release/h5ai-0.15.zip index 52502cb5..48f58cd2 100644 Binary files a/release/h5ai-0.14.1.zip and b/release/h5ai-0.15.zip differ diff --git a/src/h5ai/.htaccess b/src/h5ai/.htaccess index ec4f2924..467dfb32 100644 --- a/src/h5ai/.htaccess +++ b/src/h5ai/.htaccess @@ -19,17 +19,17 @@ AddType text/html .php # cache images, css and js for 52 weeks - - Header set Cache-Control "max-age=31449600, public" - - - Header set Cache-Control "max-age=31449600, public" - - - Header set Cache-Control "max-age=31449600, public" - - - Header set Cache-Control "max-age=31449600, public" - + + Header set Cache-Control "max-age=31449600, public" + + + Header set Cache-Control "max-age=31449600, public" + + + Header set Cache-Control "max-age=31449600, public" + + + Header set Cache-Control "max-age=31449600, public" + diff --git a/src/h5ai/css/inc/extended.less b/src/h5ai/css/inc/extended.less index 12b3134f..6aa5b6d0 100644 --- a/src/h5ai/css/inc/extended.less +++ b/src/h5ai/css/inc/extended.less @@ -1,246 +1,265 @@ #extended.details-view { - display: none; + display: none; - ul { - margin: 0; - padding: 0; - list-style: none; + ul { + margin: 0; + padding: 0; + list-style: none; - li { - position: relative; - white-space: nowrap; - clear: both; + 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; + &.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); - 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; - } - } - } - &.folder-parent { - .date, .size { - display: none; - } - } - &.folder { - .size { - display: none; - } - } - } - .icon, .label, .date, .size { - padding: 6px; - } - .icon { - display: inline-block; - position: absolute; - left: 0; - top: 2px; - width: 16px; + &:hover { + color: #555; + opacity: 0.9; + } + img { + width: 12px; + height: 12px; + padding: 0 8px; + } + } + } + &.entry { - 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; - } - &.entry.thumb .icon.small { - overflow: hidden; - padding: 5px; + a, a:active, a:visited { + display: block; + color: #555; + text-decoration: none; + cursor: pointer; + border-bottom: 1px solid #ddd; - img { - background-color: #eee; - width: 16px; - height: 16px; - border: 1px solid #ddd; - overflow: hidden; - } - } - } - } - .empty { - text-align: center; - margin: 50px 0; - color: #ddd; - font-size: 5em; - font-weight: bold; - } + &:hover, &.hover { + background-color: #f6f6f6; + color: #e80; + } + &.selected { + border-color: rgba(240,100,0,0.2); + background-color: rgba(240,100,0,0.2); + } + } + &.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; + } + } + } + &.folder-parent { + .date, .size { + display: none; + } + } + &.folder { + .size { + display: none; + } + } + } + .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; + } + &.entry.thumb .icon.small { + overflow: hidden; + padding: 5px; + + img { + background-color: #eee; + width: 16px; + height: 16px; + border: 1px solid #ddd; + overflow: hidden; + } + } + } + } + .empty { + text-align: center; + margin: 50px 0; + color: #ddd; + font-size: 5em; + font-weight: bold; + } +} + + +#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.icons-view { - display: none; - padding: 3px; - border: 1px solid #eee; - border-radius: 15px; + display: none; + padding: 3px; + border: 1px solid #eee; + border-radius: 15px; - ul { - margin: 0; - padding: 0; - list-style: none; + ul { + margin: 0; + padding: 0; + list-style: none; - li { - &.header { - display: none; - } - &.entry { - float: left; + 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; + 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); - img { - min-width: 48px; - min-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; - } - } - } - } - &.entry.thumb .icon.big { - width: 100px; - height: 58px; - overflow: hidden; + &:hover, &.hover { + color: #e80; + border-color: #eee; + background-color: #f6f6f6; + } + &.selected { + border-color: rgba(240,100,0,0.2); + background-color: rgba(240,100,0,0.2); + } + .icon { + display: block; - img { - background-color: #eee; - min-width: 46px; - min-height: 46px; - min-width: 12px; - min-height: 12px; - border: 1px solid #ddd; - overflow: hidden; - } - } - } - } - .empty { - padding: 16px; - height: 120px; - text-align: center; - color: #ddd; - font-size: 5em; - font-weight: bold; - } + img { + min-width: 48px; + min-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; + } + } + } + } + &.entry.thumb .icon.big { + width: 100px; + height: 58px; + overflow: hidden; + + img { + background-color: #eee; + min-width: 46px; + min-height: 46px; + min-width: 12px; + min-height: 12px; + border: 1px solid #ddd; + overflow: hidden; + } + } + } + } + .empty { + padding: 16px; + height: 120px; + text-align: center; + color: #ddd; + font-size: 5em; + font-weight: bold; + } } diff --git a/src/h5ai/css/inc/html5reset.less b/src/h5ai/css/inc/html5reset.less index 241f3f67..f2be7b27 100644 --- a/src/h5ai/css/inc/html5reset.less +++ b/src/h5ai/css/inc/html5reset.less @@ -53,8 +53,8 @@ sup { top: -0.5em; } sub { bottom: -0.25em; } pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; } -textarea { overflow: auto; } -.ie6 legend, .ie7 legend { margin-left: -7px; } +textarea { overflow: auto; } +.ie6 legend, .ie7 legend { margin-left: -7px; } input[type="radio"] { vertical-align: text-bottom; } input[type="checkbox"] { vertical-align: bottom; } .ie7 input[type="checkbox"] { vertical-align: baseline; } @@ -81,7 +81,7 @@ a:hover { color: #036; } /** * Primary styles * - * Author: + * Author: */ @@ -117,20 +117,20 @@ a:hover { color: #036; } } @media screen and (max-device-width: 480px) { - + /* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */ } @media print { * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; - -ms-filter: none !important; } + -ms-filter: none !important; } a, a:visited { color: #444 !important; text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } + .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; } + thead { display: table-header-group; } tr, img { page-break-inside: avoid; } @page { margin: 0.5cm; } p, h2, h3 { orphans: 3; widows: 3; } diff --git a/src/h5ai/css/inc/main.less b/src/h5ai/css/inc/main.less index aacc07e3..add0d0f3 100644 --- a/src/h5ai/css/inc/main.less +++ b/src/h5ai/css/inc/main.less @@ -4,108 +4,113 @@ html.js { - .hideOnJs { - display: none; - } + .hideOnJs { + display: none; + } } html.no-js { - .hideOnNoJs { - display: none; - } + .hideOnNoJs { + display: none; + } } body { - font-family: Ubuntu, sans-serif; - font-size: 16px; - color: #555; - margin: 80px 30px; + font-family: Ubuntu, sans-serif; + font-size: 16px; + color: #555; + margin: 80px 30px; } body > nav { - position: fixed; - z-index: 1; - width: 100%; - left: 0; - top: 0; - font-size: 0.85em; - background-color: rgb(241,241,241); - border-bottom: 2px solid rgb(210,210,210); + position: fixed; + z-index: 1; + width: 100%; + left: 0; + top: 0; + font-size: 0.85em; + background-color: rgb(241,241,241); + border-bottom: 2px solid rgb(210,210,210); - span.jsDisabledFallback { - display: block; - height: 30px; - line-height: 30px; - padding: 0 10px; - color: #999; - } - a, a:active, a:visited { - color: #555; - cursor: pointer; - text-decoration: none; - opacity: 0.7; - .transition( all 0.2s ease-in-out ); - - display: block; - height: 30px; - line-height: 30px; - padding: 0 10px; + span.jsDisabledFallback { + display: block; + height: 30px; + line-height: 30px; + padding: 0 10px; + color: #999; + } + a, a:active, a:visited { + color: #555; + cursor: pointer; + text-decoration: none; + opacity: 0.7; + .transition(all 0.2s ease-in-out); - &:hover, &.hover { - color: #e80; - background-color: rgba(255,255,255,0.5); - opacity: 1.0; - } - } - .current a { - background-color: rgba(255,255,255,0.5); - opacity: 1.0; - } - img { - width: 16px; - height: 16px; - vertical-align: bottom; - 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); - } + display: block; + height: 30px; + line-height: 30px; + padding: 0 10px; + + &:hover, &.hover { + color: #e80; + background-color: rgba(255,255,255,0.5); + opacity: 1.0; + } + } + .current a { + background-color: rgba(255,255,255,0.5); + opacity: 1.0; + } + img { + width: 16px; + height: 16px; + vertical-align: bottom; + 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); + } + #download { + display: none; + float: right; + border-left: 1px solid rgb(231,231,231); + } } #content { - max-width: 960px; - margin: 0 auto; + max-width: 960px; + margin: 0 auto; - > header { - display: none; - padding-bottom: 10px; - margin-bottom: 80px; - border-bottom: 2px dashed #ddd; - } - > footer { - display: none; - padding-top: 10px; - margin-top: 80px; - border-top: 2px dashed #ddd; - } + > header { + display: none; + padding-bottom: 10px; + margin-bottom: 80px; + border-bottom: 2px dashed #ddd; + } + > footer { + display: none; + padding-top: 10px; + margin-top: 80px; + border-top: 2px dashed #ddd; + } } @@ -115,91 +120,91 @@ body > nav { body > footer { - position: fixed; - z-index: 1; - width: 100%; - left: 0; - bottom: 0; - padding: 6px 0 8px 0; - background-color: rgb(241,241,241); - border-top: 2px solid rgb(210,210,210); - - color: #999; - font-size: 0.85em; - text-align: center; + position: fixed; + z-index: 1; + width: 100%; + left: 0; + bottom: 0; + padding: 6px 0 8px 0; + background-color: rgb(241,241,241); + border-top: 2px solid rgb(210,210,210); - a, a:active, a:visited { - color: #555; - text-decoration: none; - .transition( all 0.2s ease-in-out ); - opacity: 0.7; - - &:hover { - color: #e80; - opacity: 1; - } - } - .left { - display: block; - padding: 0 8px; - float: left - } - .center { - display: block; - margin: 0 300px; - } - .right { - display: block; - padding: 0 8px; - float: right - } - .status { - &.default { - } - &.dynamic { - display: none; - span { - display: inline-block; - padding: 0 6px; - } - } - } - #langSelector { - position: relative; - cursor: pointer; - - .langOptions { - position: absolute; - z-index: 2; - display: none; - right: 0; - top: 0; - background-color: rgb(241,241,241); - border: 1px solid rgb(210,210,210); - - ul { - margin: 0; - 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 ); - - &.current { - color: #333; - background-color: rgba(255,255,255,0.8); - } - &:hover { - color: #e80; - background-color: rgba(255,255,255,0.8); - } - } - } - } - } + color: #999; + font-size: 0.85em; + text-align: center; + + a, a:active, a:visited { + color: #555; + text-decoration: none; + .transition(all 0.2s ease-in-out); + opacity: 0.7; + + &:hover { + color: #e80; + opacity: 1; + } + } + .left { + display: block; + padding: 0 8px; + float: left + } + .center { + display: block; + margin: 0 300px; + } + .right { + display: block; + padding: 0 8px; + float: right + } + .status { + .sep { + display: inline-block; + padding: 0 6px; + } + &.default { + } + &.dynamic { + display: none; + } + } + #langSelector { + position: relative; + cursor: pointer; + + .langOptions { + position: absolute; + z-index: 2; + display: none; + right: 0; + top: 0; + background-color: rgb(241,241,241); + border: 1px solid rgb(210,210,210); + + ul { + margin: 0; + 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); + + &.current { + color: #333; + background-color: rgba(255,255,255,0.8); + } + &:hover { + color: #e80; + background-color: rgba(255,255,255,0.8); + } + } + } + } + } } diff --git a/src/h5ai/css/inc/mixins.less b/src/h5ai/css/inc/mixins.less index ba6cc74c..7bc06916 100644 --- a/src/h5ai/css/inc/mixins.less +++ b/src/h5ai/css/inc/mixins.less @@ -1,38 +1,38 @@ -.border-radius ( @radius ) { - -moz-border-radius: @radius; - -webkit-border-radius: @radius; - border-radius: @radius; +.border-radius (@radius) { + -moz-border-radius: @radius; + -webkit-border-radius: @radius; + border-radius: @radius; } -.box-shadow ( @shadow ) { - -moz-box-shadow: @shadow; - -webkit-box-shadow: @shadow; - box-shadow: @shadow; +.box-shadow (@shadow) { + -moz-box-shadow: @shadow; + -webkit-box-shadow: @shadow; + box-shadow: @shadow; } -.transition ( @transition ) { - -moz-transition: @transition; - -ms-transition: @transition; - -o-transition: @transition; - -webkit-transition: @transition; - transition: @transition; +.transition (@transition) { + -moz-transition: @transition; + -ms-transition: @transition; + -o-transition: @transition; + -webkit-transition: @transition; + transition: @transition; } -.transform ( @transform ) { - -moz-transform: @transform; - -o-transform: @transform; - -webkit-transform: @transform; - transform: @transform; +.transform (@transform) { + -moz-transform: @transform; + -o-transform: @transform; + -webkit-transform: @transform; + transform: @transform; } -.background-size ( @size ) { - -moz-background-size: @size; - -webkit-background-size: @size; - background-size: @size; +.background-size (@size) { + -moz-background-size: @size; + -webkit-background-size: @size; + background-size: @size; } diff --git a/src/h5ai/css/inc/table.less b/src/h5ai/css/inc/table.less index 5af0f4bf..22881893 100644 --- a/src/h5ai/css/inc/table.less +++ b/src/h5ai/css/inc/table.less @@ -1,68 +1,68 @@ #table { - table { - display: block; - width: 100%; - border-collapse: collapse; + 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 ); + 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; + &: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: 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; - } - } + 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; + } + } } diff --git a/src/h5ai/css/inc/tree.less b/src/h5ai/css/inc/tree.less index 63cd6d7b..a9a22215 100644 --- a/src/h5ai/css/inc/tree.less +++ b/src/h5ai/css/inc/tree.less @@ -1,129 +1,129 @@ #tree { - display: none; - position: fixed; - left: 0; - top: 82px; - z-index: 1; - overflow: auto; - font-size: 0.85em; - padding: 16px 16px 16px 16px; - background-color: rgb(241,241,241); - border: 2px solid rgb(210,210,210); - border-left: none; - .border-radius ( 0 15px 15px 0 ); + display: none; + position: fixed; + left: 0; + top: 82px; + z-index: 1; + overflow: auto; + font-size: 0.85em; + padding: 16px 16px 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 12px 12px 0; - 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; + > .scrollbar { + margin: 12px 12px 12px 0; + width: 6px; + background-color: rgb(210,210,210); + .border-radius(3px); - &: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; - } - } + .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; + } + } } diff --git a/src/h5ai/css/main-php.less b/src/h5ai/css/main-php.less index e2886c05..c6f9e34e 100644 --- a/src/h5ai/css/main-php.less +++ b/src/h5ai/css/main-php.less @@ -3,13 +3,15 @@ #table { - display: none; + display: none; } + #tree, #content > header, #content > footer { - display: block; + display: block; } + html.no-js { - #extended.details-view, #extended.icons-view { - display: block; - } + #extended.details-view, #extended.icons-view { + display: block; + } } diff --git a/src/h5ai/footer.html b/src/h5ai/footer.html index 8a8d95f0..3eacc917 100644 --- a/src/h5ai/footer.html +++ b/src/h5ai/footer.html @@ -1,34 +1,34 @@ - - -
- - -
- - - - + + +
+ + +
+ + + + \ No newline at end of file diff --git a/src/h5ai/footer.php b/src/h5ai/footer.php index ee6c2b75..f1ee8cc3 100644 --- a/src/h5ai/footer.php +++ b/src/h5ai/footer.php @@ -1,4 +1,4 @@ - - + + diff --git a/src/h5ai/header.html b/src/h5ai/header.html index ecca3888..21278444 100644 --- a/src/h5ai/header.html +++ b/src/h5ai/header.html @@ -1,34 +1,38 @@ - - Directory index · styled with h5ai - - - - - - - - + + Directory index · styled with h5ai + + + + + + + + - -
-
-
- +
+ +
+
+
+ diff --git a/src/h5ai/header.php b/src/h5ai/header.php index 2a92485c..a6987061 100644 --- a/src/h5ai/header.php +++ b/src/h5ai/header.php @@ -2,58 +2,62 @@ - - <?php echo $h5ai->getTitle(); ?> - - - - - - - - + + <?php echo $h5ai->getTitle(); ?> + + + + + + + + - - toHtml(); ?> -
- getHeader(); ?> - toHtml(); ?> - getFooter(); ?> -
-
- - h5ai %BUILD_VERSION% (php) - - - JavaScript is disabled! - - en - english - - - - - - getFolderCount(); ?> folders - · - getFileCount(); ?> files - - - - -
- - - -
- +
+ + toHtml(); ?> +
+ getHeader(); ?> + toHtml(); ?> + getFooter(); ?> +
+
+ + h5ai %BUILD_VERSION% (php) + + + JavaScript is disabled! + + en - english + + + + + + getFolderCount(); ?> folders + · + getFileCount(); ?> files + + + + +
+ + + +
+ diff --git a/src/h5ai/images/download.png b/src/h5ai/images/download.png new file mode 100644 index 00000000..a6754f42 Binary files /dev/null and b/src/h5ai/images/download.png differ diff --git a/src/h5ai/js/inc/extended.js b/src/h5ai/js/inc/extended.js index 62ee8bf1..b4641193 100644 --- a/src/h5ai/js/inc/extended.js +++ b/src/h5ai/js/inc/extended.js @@ -1,153 +1,119 @@ -var Extended = function ( pathCache, h5ai ) { +var Extended = function (pathCache, h5ai) { + "use strict"; + /*global $*/ + var settings = { + customHeader: "h5ai.header.html", + customFooter: "h5ai.footer.html" + }, + initTitle = function () { - /******************************* - * config - *******************************/ + document.title = document.domain + document.location.pathname; + try { + document.title = decodeURI(document.title); + } catch (err) {} + }, + initBreadcrumb = function () { - this.config = { - customHeader: "h5ai.header.html", - customFooter: "h5ai.footer.html" - }; + var idx, part, + $ul = $("body > nav ul"), + pathname = "/", + path = pathCache.getPath(pathname), + pathnameParts = document.location.pathname.split("/"); + $ul.append(path.updateCrumbHtml()); - /******************************* - * init - *******************************/ + for (idx in pathnameParts) { + part = pathnameParts[idx]; + if (part !== "") { + pathname += part + "/"; + $ul.append(pathCache.getPath(pathname).updateCrumbHtml()); + } + } + }, + initExtendedView = function () { - this.init = function () { + var $ths = $("#table th"), + $label = $ths.eq(1).find("a"), + $date = $ths.eq(2).find("a"), + $size = $ths.eq(3).find("a"), + sortquery = document.location.search, + order = { + column: (sortquery.indexOf("C=N") >= 0) ? "name" : (sortquery.indexOf("C=M") >= 0) ? "date" : (sortquery.indexOf("C=S") >= 0) ? "size" : h5ai.settings.sortorder.column, + ascending: (sortquery.indexOf("O=A") >= 0) ? true : (sortquery.indexOf("O=D") >= 0) ? false : h5ai.settings.sortorder.ascending + }, + $icon, $ul, $li; - try { - document.title = decodeURI( document.domain + document.location.pathname ); - } catch ( err ) { - document.title = document.domain + document.location.pathname; - }; + $ul = $("