diff options
author | Gaurav <allmanpride@gmail.com> | 2022-08-14 01:09:02 +0000 |
---|---|---|
committer | Gaurav <allmanpride@gmail.com> | 2022-08-14 01:09:02 +0000 |
commit | 04ec70e10400642df96c9ffd4eb4daf19cf44df9 (patch) | |
tree | 5325b9019f839d591b2e4a6108ddf6ade47a63f3 /src/renderer.rs | |
parent | Add `--readme` info and reformat (diff) | |
download | miniserve-04ec70e10400642df96c9ffd4eb4daf19cf44df9.tar.gz miniserve-04ec70e10400642df96c9ffd4eb4daf19cf44df9.zip |
Make Readme struct
Diffstat (limited to '')
-rw-r--r-- | src/renderer.rs | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/renderer.rs b/src/renderer.rs index abf6053..bafddaf 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -2,21 +2,19 @@ use actix_web::http::StatusCode; use chrono::{DateTime, Utc}; use chrono_humanize::Humanize; use clap::{crate_name, crate_version}; -use comrak::{markdown_to_html, ComrakOptions}; use maud::{html, Markup, PreEscaped, DOCTYPE}; -use std::path::PathBuf; use std::time::SystemTime; use strum::IntoEnumIterator; use crate::auth::CurrentUser; -use crate::listing::{Breadcrumb, Entry, QueryParameters, SortingMethod, SortingOrder}; +use crate::listing::{Breadcrumb, Entry, QueryParameters, Readme, SortingMethod, SortingOrder}; use crate::{archive::ArchiveMethod, MiniserveConfig}; #[allow(clippy::too_many_arguments)] /// Renders the file listing pub fn page( entries: Vec<Entry>, - readme: Option<PathBuf>, + readme: Readme, is_root: bool, query_params: QueryParameters, breadcrumbs: Vec<Breadcrumb>, @@ -169,15 +167,10 @@ pub fn page( } } } - @if readme.is_some() { + @if readme.render { 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()))); + h3 { (readme.filename.unwrap()) } + (PreEscaped (readme.contents.unwrap())); } } a.back href="#top" { |