diff options
author | Dean Li <deantvv@gmail.com> | 2021-06-03 13:26:27 +0000 |
---|---|---|
committer | Dean Li <deantvv@gmail.com> | 2021-08-30 11:55:58 +0000 |
commit | 7944db336ca3ef0338369091af60aa2b15789952 (patch) | |
tree | 98d5c2a9e9a007a569710d60328e32713d832b60 /src/renderer.rs | |
parent | Add CHANGELOG entry for binding behavior revamp (diff) | |
download | miniserve-7944db336ca3ef0338369091af60aa2b15789952.tar.gz miniserve-7944db336ca3ef0338369091af60aa2b15789952.zip |
Implement show symlink destination
Add option `show_symlink_info` to represent show symlink info or not.
(Default to no)
Show symlink destination after symlink symbol in directory listing
Resemble `ls -l` and also the short argument select for this feature
is also `-l`.
Basic testing is included.
Related to #499
Diffstat (limited to '')
-rw-r--r-- | src/renderer.rs | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/renderer.rs b/src/renderer.rs index 901bf66..3360504 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -328,24 +328,33 @@ fn entry_row( td { p { @if entry.is_dir() { - a.directory href=(parametrized_link(&entry.link, sort_method, sort_order)) { - (entry.name) "/" - @if entry.is_symlink { + @if let Some(symlink_dest) = entry.symlink_info { + a.symlink href=(parametrized_link(&entry.link, sort_method, sort_order)) { + (entry.name) "/" span.symlink-symbol { } + a.directory {(symlink_dest) "/"} + } + }@else { + a.directory href=(parametrized_link(&entry.link, sort_method, sort_order)) { + (entry.name) "/" } } } @else if entry.is_file() { - div.file-entry { + @if let Some(symlink_dest) = entry.symlink_info { + a.symlink href=(&entry.link) { + (entry.name) + span.symlink-symbol { } + a.file {(symlink_dest)} + } + }@else { a.file href=(&entry.link) { (entry.name) - @if entry.is_symlink { - span.symlink-symbol { } - } } - @if let Some(size) = entry.size { - span.mobile-info.size { - (size) - } + } + + @if let Some(size) = entry.size { + span.mobile-info.size { + (size) } } } |