Adds a link to the nice theme designed by @TheInsomiac, which is a
great example of advanced theming using "fancyindex_header" and
"fancyindex_footer".
Closes issue #11
There is almost universal support for the CSS3
:nth-child() pseudo-selector. We're shifting the
responsibility for labeling even and odd rows to
the browser.
Set html5 meta viewport width to device-width. A mobile browser now scales up the directory listing and dir-/filenames are easier to read and click/touch.
Set html5 meta viewport width to device-width. A mobile browser now scales up the directory listing and dir-/filenames are easier to read and click/touch.
If a sorting criteria different than the default is used, carry the URL
arguments to the links pointing to other directories, so the sorting is
"remembered" when navigating across different directories.
Make table headers clickable, for changing sorting direction of the entries.
Clicking on the name of the headers selects ascending direction, clicking on
the arrow next to it, chooses descending direction. The arrow symbol, for
simplicity, is an Unicode down-arrow symbol, which all reasonably modern
browsers should display fine. Also, most text-only browsers will show the
arrow correctly when running on Unicode-compatible terminals.
When choosing different sorting criteria for the elements (with the "?C=x"
URL argument), allow also specifying a second "O=x" argument for the
direction: "?C=x&O=A" selects ascending direction, while "?C=x&O=D" chooses
descending direction.
This introduces Apache-style URL arguments to specify how to sort the
entries in the generated listings:
- Appending "?C=M" sorts by modification time (mtime).
- Appending "?C=S" sorts by file size.
- Any other (or no arguments) use the default sorting, by name.
When issuing subrequests (currently for non-builtin headers and footers),
initialize the headers_out.status field to NGX_OK.
Also, change the check of the result from ngx_http_send_header() to only
check for NGX_OK, as it is redundant to check it and also NGX_ERROR.
More exactly:
* In the requirements section, state that the module will work with
any version of Nginx newer than 0.7.x
* Updated URL to the Nginx wiki, using now wiki.nginx.org
* Specifying a custom CSS works, the README was contradicting the code.
FWIW, removed status markers from features in the file.
* Made the build instructions a bit more generic.
Unfortunately ngx_escape_uri() does not properly escape all characters
that may be problematic in URIs, so apart from doing a first pass with
ngx_escape_uri(), it is needed to do a second pass for escaping the rest
of characters.
Thanks to Steve Willing <eiji-gravion@hotmail.com> for reporting the issue.
Adds a new "fancyindex_ignore string1 [string2 [... stringN]]" directive
which sets a lists of files which are not to be shown in generated listings.
If Nginx is built with PCRE support, strings are interpreted as regular
expressions, and files which match one of the regular expressions in this
list will not be sent in listings.
This allows for inserting a <link> tag in the generated listings pointing to
an additional CSS stylesheet, which will be applied by the browser after the
built-in rules. This allows for super-easy customization of the output look.
* Removed the 'media="screen"', because it is unlikely that an user would
like to print a file listing.
* Removed unused "#readme" rule in the CSS part. Support for inlining a file
was discontinued long ago.
* Change old e-mail address to my new one.
* State that the module is unsupported in Nginx 0.6.x
* Remove text about the fancyindex_readme* directives
* Add some basic git ignores.
Sergey A. Osokin provided this small improvement for the his previous patch
regarding the "zero_in_uri" being absent in newer development versions of
Nginx.
Signed-off-by: Adrian Perez <aperez@igalia.com>
(e.g. due to EACCESS), the fancyindex module would produce an error and
wouldn't generate any response to the user.
The new behavior is to log a non-critical error and keep serving the page
anyway.
Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Signed-off-by: Adrian Perez <aperez@igalia.com>