aboutsummaryrefslogtreecommitdiffstats
path: root/src/listing.rs
diff options
context:
space:
mode:
authorGaurav <allmanpride@gmail.com>2022-08-03 00:44:10 +0000
committerGaurav <allmanpride@gmail.com>2022-08-14 00:03:49 +0000
commitb018457e54c66862f163cb5aacbca71a3321c9ae (patch)
tree1f2384581abfd3b75ec752cb6b17cab38dc44136 /src/listing.rs
parentBump deps (diff)
downloadminiserve-b018457e54c66862f163cb5aacbca71a3321c9ae.tar.gz
miniserve-b018457e54c66862f163cb5aacbca71a3321c9ae.zip
Add support for readme rendering
Diffstat (limited to '')
-rw-r--r--src/listing.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/listing.rs b/src/listing.rs
index 25f50fa..3c77c14 100644
--- a/src/listing.rs
+++ b/src/listing.rs
@@ -232,6 +232,7 @@ pub fn directory_listing(
}
let mut entries: Vec<Entry> = Vec::new();
+ let mut readme: Option<String> = None;
for entry in dir.path.read_dir()? {
if dir.is_visible(&entry) || conf.show_hidden {
@@ -275,13 +276,17 @@ pub fn directory_listing(
));
} else if metadata.is_file() {
entries.push(Entry::new(
- file_name,
+ file_name.clone(),
EntryType::File,
file_url,
Some(ByteSize::b(metadata.len())),
last_modification_date,
symlink_dest,
));
+ // TODO: Pattern match, or user arg for readme name?
+ if file_name.to_lowercase() == "readme.md"{
+ readme = Some(file_name);
+ }
}
} else {
continue;
@@ -372,6 +377,7 @@ pub fn directory_listing(
HttpResponse::Ok().content_type(mime::TEXT_HTML_UTF_8).body(
renderer::page(
entries,
+ readme,
is_root,
query_params,
breadcrumbs,