|
|
|
/* Automagically generated, do not edit! */
|
|
|
|
static const u_char t01_head1[] = ""
|
|
|
|
"<!DOCTYPE html>"
|
|
|
|
"<html>"
|
|
|
|
"<head>"
|
|
|
|
"<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"
|
|
|
|
"<meta name=\"viewport\" content=\"width=device-width\">"
|
|
|
|
"<style type=\"text/css\">"
|
|
|
|
"body,html {"
|
|
|
|
"background:#fff;"
|
|
|
|
"font-family:\"Bitstream Vera Sans\",\"Lucida Grande\","
|
|
|
|
"\"Lucida Sans Unicode\",Lucidux,Verdana,Lucida,sans-serif;"
|
|
|
|
"}"
|
Remove `fancyindex_name_length` by offloading work to CSS
This is a backwards compatibility break, in that the `fancyindex_name_length` setting will now
prevent nginx from starting until removed. I do think though that most people will find the new
behavior preferable to that setting however.
There's two arguably unrelated CSS changes included in this pull request, so let me know if you
like one but not the other or vice versa I can split them up.
-----
We've introduced `table-layout: fixed;`. This is a performance optimization for browsers rendering
very large file lists.
The default mode (`table-layout: auto`) first needs to load the entire table, then calculates the
optimal column widths based on the contents of all cells in the table start to finish. This can be
a bit slow when directory listings contain tens of thousands of files or folders.
With `table-layout: fixed;` the width is determined based on the first row allowing the browser to
render to begin rendering the table immediately.
Technically, the widths of columns have changed slightly as a result of this, but we no longer need
to specify widths using style attributes, which makes it easier for custom CSS users to change the
widths.
.link was 55% wide, now 50%
.size was 20% wide, now 25%
.date was 25% wide, now 25%
-----
Rather than truncating string names server-side, we instead send the full name and tell the browser
to truncate file names with CSS. This has the advantage of always showing as much of the file name
as it can fit in a line. This has the benefit of avoiding line wraps on smaller screens (like
phones) and allowing people to resize their window larger to see more of the file name.
This reduces the code complexity server side and provides a optimal truncation on every device.
3 years ago
|
|
|
"table {"
|
|
|
|
"table-layout: fixed;"
|
|
|
|
"}"
|
|
|
|
"tr:nth-child(even) {"
|
|
|
|
"background:#f4f4f4;"
|
|
|
|
"}"
|
|
|
|
"th,td {"
|
|
|
|
"padding:0.1em 0.5em;"
|
|
|
|
"}"
|
|
|
|
"th {"
|
|
|
|
"text-align:left;"
|
|
|
|
"font-weight:bold;"
|
|
|
|
"background:#eee;"
|
|
|
|
"border-bottom:1px solid #aaa;"
|
|
|
|
"}"
|
|
|
|
"#list {"
|
|
|
|
"border:1px solid #aaa;"
|
|
|
|
"width:100%;"
|
|
|
|
"}"
|
|
|
|
"a {"
|
|
|
|
"color:#a33;"
|
|
|
|
"}"
|
|
|
|
"a:hover {"
|
|
|
|
"color:#e33;"
|
|
|
|
"}"
|
Remove `fancyindex_name_length` by offloading work to CSS
This is a backwards compatibility break, in that the `fancyindex_name_length` setting will now
prevent nginx from starting until removed. I do think though that most people will find the new
behavior preferable to that setting however.
There's two arguably unrelated CSS changes included in this pull request, so let me know if you
like one but not the other or vice versa I can split them up.
-----
We've introduced `table-layout: fixed;`. This is a performance optimization for browsers rendering
very large file lists.
The default mode (`table-layout: auto`) first needs to load the entire table, then calculates the
optimal column widths based on the contents of all cells in the table start to finish. This can be
a bit slow when directory listings contain tens of thousands of files or folders.
With `table-layout: fixed;` the width is determined based on the first row allowing the browser to
render to begin rendering the table immediately.
Technically, the widths of columns have changed slightly as a result of this, but we no longer need
to specify widths using style attributes, which makes it easier for custom CSS users to change the
widths.
.link was 55% wide, now 50%
.size was 20% wide, now 25%
.date was 25% wide, now 25%
-----
Rather than truncating string names server-side, we instead send the full name and tell the browser
to truncate file names with CSS. This has the advantage of always showing as much of the file name
as it can fit in a line. This has the benefit of avoiding line wraps on smaller screens (like
phones) and allowing people to resize their window larger to see more of the file name.
This reduces the code complexity server side and provides a optimal truncation on every device.
3 years ago
|
|
|
".link {"
|
|
|
|
"white-space: nowrap;"
|
|
|
|
"text-overflow: '>';"
|
|
|
|
"overflow: hidden;"
|
|
|
|
"}"
|
|
|
|
"</style>"
|
|
|
|
"\n"
|
|
|
|
;
|
|
|
|
static const u_char t02_head2[] = ""
|
|
|
|
"\n"
|
|
|
|
"<title>Index of "
|
|
|
|
;
|
|
|
|
static const u_char t03_head3[] = ""
|
|
|
|
"</title>"
|
|
|
|
"\n"
|
|
|
|
"</head>"
|
|
|
|
;
|
|
|
|
static const u_char t04_body1[] = ""
|
|
|
|
"<body>"
|
|
|
|
"<h1>Index of "
|
|
|
|
;
|
|
|
|
static const u_char t05_body2[] = ""
|
|
|
|
"</h1>"
|
|
|
|
"\n"
|
|
|
|
;
|
|
|
|
static const u_char t06_list1[] = ""
|
|
|
|
"<table id=\"list\">"
|
|
|
|
"<thead>"
|
|
|
|
"<tr>"
|
Remove `fancyindex_name_length` by offloading work to CSS
This is a backwards compatibility break, in that the `fancyindex_name_length` setting will now
prevent nginx from starting until removed. I do think though that most people will find the new
behavior preferable to that setting however.
There's two arguably unrelated CSS changes included in this pull request, so let me know if you
like one but not the other or vice versa I can split them up.
-----
We've introduced `table-layout: fixed;`. This is a performance optimization for browsers rendering
very large file lists.
The default mode (`table-layout: auto`) first needs to load the entire table, then calculates the
optimal column widths based on the contents of all cells in the table start to finish. This can be
a bit slow when directory listings contain tens of thousands of files or folders.
With `table-layout: fixed;` the width is determined based on the first row allowing the browser to
render to begin rendering the table immediately.
Technically, the widths of columns have changed slightly as a result of this, but we no longer need
to specify widths using style attributes, which makes it easier for custom CSS users to change the
widths.
.link was 55% wide, now 50%
.size was 20% wide, now 25%
.date was 25% wide, now 25%
-----
Rather than truncating string names server-side, we instead send the full name and tell the browser
to truncate file names with CSS. This has the advantage of always showing as much of the file name
as it can fit in a line. This has the benefit of avoiding line wraps on smaller screens (like
phones) and allowing people to resize their window larger to see more of the file name.
This reduces the code complexity server side and provides a optimal truncation on every device.
3 years ago
|
|
|
"<th colspan=\"2\"><a href=\"?C=N&O=A\">File Name</a> <a href=\"?C=N&O=D\"> ↓ </a></th>"
|
|
|
|
"<th><a href=\"?C=S&O=A\">File Size</a> <a href=\"?C=S&O=D\"> ↓ </a></th>"
|
|
|
|
"<th><a href=\"?C=M&O=A\">Date</a> <a href=\"?C=M&O=D\"> ↓ </a></th>"
|
|
|
|
"</tr>"
|
|
|
|
"</thead>"
|
|
|
|
"\n"
|
|
|
|
"<tbody>"
|
|
|
|
;
|
|
|
|
static const u_char t_parentdir_entry[] = ""
|
|
|
|
"<tr>"
|
Remove `fancyindex_name_length` by offloading work to CSS
This is a backwards compatibility break, in that the `fancyindex_name_length` setting will now
prevent nginx from starting until removed. I do think though that most people will find the new
behavior preferable to that setting however.
There's two arguably unrelated CSS changes included in this pull request, so let me know if you
like one but not the other or vice versa I can split them up.
-----
We've introduced `table-layout: fixed;`. This is a performance optimization for browsers rendering
very large file lists.
The default mode (`table-layout: auto`) first needs to load the entire table, then calculates the
optimal column widths based on the contents of all cells in the table start to finish. This can be
a bit slow when directory listings contain tens of thousands of files or folders.
With `table-layout: fixed;` the width is determined based on the first row allowing the browser to
render to begin rendering the table immediately.
Technically, the widths of columns have changed slightly as a result of this, but we no longer need
to specify widths using style attributes, which makes it easier for custom CSS users to change the
widths.
.link was 55% wide, now 50%
.size was 20% wide, now 25%
.date was 25% wide, now 25%
-----
Rather than truncating string names server-side, we instead send the full name and tell the browser
to truncate file names with CSS. This has the advantage of always showing as much of the file name
as it can fit in a line. This has the benefit of avoiding line wraps on smaller screens (like
phones) and allowing people to resize their window larger to see more of the file name.
This reduces the code complexity server side and provides a optimal truncation on every device.
3 years ago
|
|
|
"<td colspan=\"2\" class=\"link\"><a href=\"../?C=N&O=A\">Parent directory/</a></td>"
|
|
|
|
"<td class=\"size\">-</td>"
|
|
|
|
"<td class=\"date\">-</td>"
|
|
|
|
"</tr>"
|
|
|
|
"\n"
|
|
|
|
;
|
|
|
|
static const u_char t07_list2[] = ""
|
|
|
|
"</tbody>"
|
|
|
|
"</table>"
|
|
|
|
;
|
|
|
|
static const u_char t08_foot1[] = ""
|
|
|
|
"</body>"
|
|
|
|
"</html>"
|
|
|
|
;
|
|
|
|
#define NFI_TEMPLATE_SIZE (0 \
|
|
|
|
+ nfi_sizeof_ssz(t01_head1) \
|
|
|
|
+ nfi_sizeof_ssz(t02_head2) \
|
|
|
|
+ nfi_sizeof_ssz(t03_head3) \
|
|
|
|
+ nfi_sizeof_ssz(t04_body1) \
|
|
|
|
+ nfi_sizeof_ssz(t05_body2) \
|
|
|
|
+ nfi_sizeof_ssz(t06_list1) \
|
|
|
|
+ nfi_sizeof_ssz(t_parentdir_entry) \
|
|
|
|
+ nfi_sizeof_ssz(t07_list2) \
|
|
|
|
+ nfi_sizeof_ssz(t08_foot1) \
|
|
|
|
)
|