From 19ab9c632e4a12dd7c7c30f56317bf26cb0e3f2f Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 11 Aug 2022 21:46:56 -0400 Subject: Add `--readme` info and reformat --- Cargo.lock | 2 +- Cargo.toml | 1 - README.md | 4 ++++ src/args.rs | 4 ++-- src/listing.rs | 1 - src/renderer.rs | 19 ++++++++++--------- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eaa6c5d..b1bc4ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1930,7 +1930,7 @@ dependencies = [ "indexmap", "line-wrap", "serde", - "time 0.3.11", + "time 0.3.13", "xml-rs", ] diff --git a/Cargo.toml b/Cargo.toml index d22199a..08a0f0c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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] diff --git a/README.md b/README.md index 4f477b2..49bd51b 100644 --- a/README.md +++ b/README.md @@ -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 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, - /// 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, @@ -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()) -- cgit v1.2.3