diff options
-rw-r--r-- | Cargo.lock | 2 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | src/args.rs | 4 | ||||
-rw-r--r-- | src/listing.rs | 1 | ||||
-rw-r--r-- | src/renderer.rs | 19 |
6 files changed, 17 insertions, 14 deletions
@@ -1930,7 +1930,7 @@ dependencies = [ "indexmap", "line-wrap", "serde", - "time 0.3.11", + "time 0.3.13", "xml-rs", ] @@ -55,7 +55,6 @@ tar = "0.4" thiserror = "1" yansi = "0.5" zip = { version = "0.6.2", default-features = false } -get_if_addrs = "0.5" comrak = "0.14.0" [features] @@ -101,6 +101,7 @@ Some mobile browsers like Firefox on Android will offer to open the camera app w - Shell completions - Sane and secure defaults - TLS (for supported architectures) +- Supports README.md rendering like on GitHub ## Usage @@ -204,6 +205,9 @@ Some mobile browsers like Firefox on Android will offer to open the camera app w --random-route Generate a random 6-hexdigit route + --readme + Enable README.md redering in directories + --route-prefix <ROUTE_PREFIX> Use a specific route prefix diff --git a/src/args.rs b/src/args.rs index 9674651..dd96f05 100644 --- a/src/args.rs +++ b/src/args.rs @@ -198,8 +198,8 @@ pub struct CliArgs { #[clap(long = "tls-key", requires = "tls-cert", value_hint = ValueHint::FilePath)] pub tls_key: Option<PathBuf>, - /// Enable readme redering in directories - #[clap(long = "readme")] + /// Enable README.md redering in directories + #[clap(long)] pub readme: bool, } diff --git a/src/listing.rs b/src/listing.rs index 42054ca..1c017b0 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -283,7 +283,6 @@ pub fn directory_listing( last_modification_date, symlink_dest, )); - // TODO: Pattern match? if conf.readme && file_name.to_lowercase() == "readme.md" { let file_path = conf .path diff --git a/src/renderer.rs b/src/renderer.rs index 3ce985b..abf6053 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -12,6 +12,7 @@ use crate::auth::CurrentUser; use crate::listing::{Breadcrumb, Entry, QueryParameters, SortingMethod, SortingOrder}; use crate::{archive::ArchiveMethod, MiniserveConfig}; +#[allow(clippy::too_many_arguments)] /// Renders the file listing pub fn page( entries: Vec<Entry>, @@ -169,15 +170,15 @@ pub fn page( } } @if readme.is_some() { - div { - h3 { (readme.as_ref().unwrap().file_name().unwrap() - .to_string_lossy().to_string()) } - (PreEscaped - (markdown_to_html( - &std::fs::read_to_string(readme.unwrap()) - .unwrap_or_else(|_| "Cannot read File.".to_string()), - &ComrakOptions::default()))); - } + div { + h3 { (readme.as_ref().unwrap().file_name().unwrap() + .to_string_lossy().to_string()) } + (PreEscaped + (markdown_to_html( + &std::fs::read_to_string(readme.unwrap()) + .unwrap_or_else(|_| "Cannot read File.".to_string()), + &ComrakOptions::default()))); + } } a.back href="#top" { (arrow_up()) |