Commit graph

276 commits

Author SHA1 Message Date
02d68839e1
update version to 0.1.1 2024-05-29 12:41:38 +02:00
68ba4433b7
fix: rename size column to name 2024-05-29 12:21:26 +02:00
88f56b8e40
small fixes 2024-03-15 22:32:57 +01:00
51be2e2d59
remove unreleased tag from changelog 2024-03-15 21:59:19 +01:00
f46b4aff03
feat: add debian build files 2024-03-15 21:51:36 +01:00
cabcf90a88
fix: build config for static build 2024-03-15 18:08:26 +01:00
5aaaef1d62
feat: add file size tooltip 2024-03-15 17:05:44 +01:00
9c0a62143a
feat: symlink support 2024-03-15 16:31:54 +01:00
0c2ec8e72f
feat: optimize template, add JS license 2024-03-15 16:23:48 +01:00
c85a9fa00b
feat: render txt files correctly 2024-03-15 12:07:30 +01:00
f4c1d12c59
use md4c as markdown library 2024-03-15 11:27:14 +01:00
7756515f96
rename module to awesomeindex 2024-03-14 13:37:42 +01:00
8a356a18f5
feat: last update date 2024-03-14 11:12:59 +01:00
0b0fe824c0
feat: parse markdown 2024-03-14 10:58:02 +01:00
97df2dcc44
feat: readme file 2024-03-14 03:11:59 +01:00
441fe260ff
fix: change default date format 2024-03-13 23:35:50 +01:00
16d899a438
fix: file count 2024-03-13 23:31:50 +01:00
41ffd40bf6
feat: add title/icon 2024-03-13 23:25:57 +01:00
eafbce8352
small fixes 2024-03-13 22:35:27 +01:00
8ec3c8bdfd
feat: clickable path display 2024-03-13 16:17:45 +01:00
f31b92df37
feat: use caddy template 2024-03-13 13:07:39 +01:00
Adrian Perez de Castro
cbc0d3fca4 CI: Update mainline and stable Nginx versions for testing 2023-01-20 15:31:11 +02:00
Ryan Schmidt
e5f227686a Add tests for case-(in)sensitive sorting 2023-01-20 15:26:16 +02:00
Mamadou Lamine NIANG
a634077b5f Add case-insensitive name sorting support
Add the fancyindex_case_sensitive option which considers the case when
sorting by name if it is on (which it is by default to keep current
behavior) and does a case-insensitive name sort if it is off.

Closes #78
Closes #124

Co-authored-by: Ryan Schmidt <git@ryandesign.com>
2023-01-20 15:26:16 +02:00
Adrian Perez de Castro
674e99547d Add missing entry in long weekday names array
The entry for Saturday was missing, as pointed out in the bug report.
While at it, add a test case.

Fixes #157
2023-01-20 15:20:40 +02:00
Adrian Perez de Castro
1494521744 build-and-run: disable HTTP rewrite module
The HTTP rewrite module needs PCRE, which is not available in the GHA
MacOS runners. It is unused by the tests, so it's safe to disable
building it.
2023-01-20 13:59:17 +02:00
Danila Vershinin
f50d7b799f Update available distros with module package
Fedora Linux has packages available, removed linking to old NGINX module package version
2022-07-19 15:54:45 +03:00
Ryan Schmidt
860a9cbd5e CI: add macOS test runners 2022-06-05 01:02:12 +03:00
Ryan Schmidt
2346fa9bde CI: Update to latest mainline and stable nginx 2022-06-05 01:02:12 +03:00
Adrian Perez de Castro
823f162085
Use the BSD license consistently
The t/preamble file incorrectly mentioned the MIT license before.
While at it, use SPDX license identification headers.

Closes #149
2022-05-26 00:40:58 +03:00
Ryan Schmidt
98f824ef91 get-pup: Use a fork of pup on recent macOS
Use a fork of pup on macOS 10.13 and higher because the binary provided
by the original project crashes immediately on those OS versions.

See https://github.com/ericchiang/pup/issues/85
2022-05-25 23:58:46 +03:00
Ryan Schmidt
8efe0b01fa Tests: Make test 02 more specific
Test for an opening table tag instead of just the word "table".
2022-05-25 23:53:42 +03:00
Ryan Schmidt
e505eb2a13 Tests: Wait for nginx to create pid file
When nginx is started, it returns control before it has created its pid
file. Since this test suite relies on the existence of the pid file,
wait until the pid file exists before returning from nginx_start. Time
out after 2 seconds so that if there is a real problem starting nginx
we don't wait forever.

Fixes #144
2022-05-25 23:52:58 +03:00
Ryan Schmidt
778561eabf README.rst: Note MacPorts can install fancyindex 2022-05-25 23:52:14 +03:00
Ryan Schmidt
83bef5c8a6 Fix 404 not found when indexing filesystem root
Backport of 4c89c09ad8

Fixes #107
2022-05-25 23:51:27 +03:00
Ryan Schmidt
b9ecd5bcb4 Tests: Fix typos in descriptions and messages 2022-05-10 22:04:11 +03:00
Ryan Schmidt
698e7ce4b9 get-pup: Verify with openssl instead of sha256sum
Use openssl to verify download because sha256sum does not exist on
macOS.
2022-05-10 21:58:05 +03:00
Ryan Schmidt
7ee6b81661 HACKING.md: Note MacPorts can install gawk too 2022-05-10 21:56:30 +03:00
Ryan Schmidt
e8a4a7eced template.awk: Fix name of HACKING file
HACKING was converted from reStructuredText to markdown back in 2014 in
0064164d4e.
2022-05-10 21:55:00 +03:00
Ryan Schmidt
3d47d0d6b1 README.rst: Fix typos and other minor edits 2022-05-10 21:54:12 +03:00
Ryan Schmidt
60e39e0929 .gitignore: Ignore nginx-*
After running t/build-and-run an nginx directory is left in the main
directory. Hide this from git status since we won't want to check it in.
2022-05-10 21:52:26 +03:00
Ryan Schmidt
a1890354e5 Tests: Build nginx in parallel on macOS 2022-05-10 19:55:34 +03:00
Ryan Schmidt
20ba8038ac Tests: Use netstat to list occupied ports on macOS
Use netstat instead of ss to list the occupied ports on macOS since
macOS doesn't have ss.

Closes #139
2022-05-10 19:46:26 +03:00
Anthony Ryan
5930c29d6a 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.
2021-10-28 22:37:48 +03:00
Adrian Perez de Castro
6cdffdb0af
Version 0.5.2 2021-10-28 22:28:07 +03:00
Adrian Perez de Castro
b0e1fa83a8 CI: Move over to GitHub Actions 2021-10-26 01:12:26 +03:00
Anthony Ryan
2e9555e759 Always use ngx_escape_html to ensure we aren't rendering file names
as HTML tags.
2021-10-25 16:19:03 +03:00
Adrian Perez de Castro
391d2d5447
CI: Update mainline version to 1.19.3 2021-02-25 19:01:53 +02:00
Tim Gates
566ad22a61 docs: fix simple typo, configration -> configuration
There is a small typo in ngx_http_fancyindex_module.c.

Should read `configuration` rather than `configration`.
2020-12-21 17:20:44 +01:00
Adrian Perez de Castro
5ca7cb32af
Version 0.5.1 2020-10-26 22:45:29 +02:00