aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven-Hendrik Haase <svenstaro@gmail.com>2019-04-17 08:02:21 +0000
committerGitHub <noreply@github.com>2019-04-17 08:02:21 +0000
commit7ed64b5bf828b5982c53466f2335b52e366ab439 (patch)
treeec451abb0735f8d3b3d6a5ca8c09940ea41024e4
parentMerge pull request #72 from boastful-squirrel/word-wrap (diff)
parentFix issue 70 (diff)
downloadminiserve-7ed64b5bf828b5982c53466f2335b52e366ab439.tar.gz
miniserve-7ed64b5bf828b5982c53466f2335b52e366ab439.zip
Merge pull request #71 from boastful-squirrel/fix70
Fix issue 70
-rw-r--r--src/listing.rs6
-rw-r--r--src/renderer.rs20
2 files changed, 14 insertions, 12 deletions
diff --git a/src/listing.rs b/src/listing.rs
index 5008ed8..6aa1eac 100644
--- a/src/listing.rs
+++ b/src/listing.rs
@@ -132,8 +132,8 @@ pub fn directory_listing<S>(
default_color_scheme: themes::ColorScheme,
upload_route: String,
) -> Result<HttpResponse, io::Error> {
- let title = format!("Index of {}", req.path());
- let base = Path::new(req.path());
+ let serve_path = req.path();
+ let base = Path::new(serve_path);
let random_route = format!("/{}", random_route.unwrap_or_default());
let is_root = base.parent().is_none() || req.path() == random_route;
let page_parent = base.parent().map(|p| p.display().to_string());
@@ -274,7 +274,7 @@ pub fn directory_listing<S>(
.content_type("text/html; charset=utf-8")
.body(
renderer::page(
- &title,
+ serve_path,
entries,
is_root,
page_parent,
diff --git a/src/renderer.rs b/src/renderer.rs
index 284e1c1..c1dcdb2 100644
--- a/src/renderer.rs
+++ b/src/renderer.rs
@@ -10,7 +10,7 @@ use crate::themes::ColorScheme;
/// Renders the file listing
pub fn page(
- page_title: &str,
+ serve_path: &str,
entries: Vec<Entry>,
is_root: bool,
page_parent: Option<String>,
@@ -23,7 +23,7 @@ pub fn page(
current_dir: &str,
) -> Markup {
html! {
- (page_header(page_title, &color_scheme, file_upload))
+ (page_header(serve_path, &color_scheme, file_upload))
body#drop-container {
@if file_upload {
div.drag-form {
@@ -32,10 +32,10 @@ pub fn page(
}
}
}
- (color_scheme_selector(&sort_method, &sort_order, &color_scheme, &default_color_scheme))
+ (color_scheme_selector(&sort_method, &sort_order, &color_scheme, &default_color_scheme, serve_path))
div.container {
span#top { }
- h1.title { (page_title) }
+ h1.title { "Index of " (serve_path) }
div.toolbar {
div.download {
@for compression_method in CompressionMethod::iter() {
@@ -92,6 +92,7 @@ fn color_scheme_selector(
sort_order: &Option<SortingOrder>,
active_color_scheme: &ColorScheme,
default_color_scheme: &ColorScheme,
+ serve_path: &str,
) -> Markup {
html! {
nav {
@@ -104,11 +105,11 @@ fn color_scheme_selector(
@for color_scheme in ColorScheme::iter() {
@if active_color_scheme == &color_scheme {
li.active {
- (color_scheme_link(&sort_method, &sort_order, &color_scheme, &default_color_scheme))
+ (color_scheme_link(&sort_method, &sort_order, &color_scheme, &default_color_scheme, serve_path))
}
} @else {
li {
- (color_scheme_link(&sort_method, &sort_order, &color_scheme, &default_color_scheme))
+ (color_scheme_link(&sort_method, &sort_order, &color_scheme, &default_color_scheme, serve_path))
}
}
}
@@ -125,9 +126,10 @@ fn color_scheme_link(
sort_order: &Option<SortingOrder>,
color_scheme: &ColorScheme,
default_color_scheme: &ColorScheme,
+ serve_path: &str,
) -> Markup {
let link = parametrized_link(
- "",
+ serve_path,
&sort_method,
&sort_order,
&color_scheme,
@@ -684,14 +686,14 @@ fn chevron_down() -> Markup {
}
/// Partial: page header
-fn page_header(page_title: &str, color_scheme: &ColorScheme, file_upload: bool) -> Markup {
+fn page_header(serve_path: &str, color_scheme: &ColorScheme, file_upload: bool) -> Markup {
html! {
(DOCTYPE)
html {
meta charset="utf-8";
meta http-equiv="X-UA-Compatible" content="IE=edge";
meta name="viewport" content="width=device-width, initial-scale=1";
- title { (page_title) }
+ title { "Index of " (serve_path) }
style { (css(&color_scheme)) }
@if file_upload {
(PreEscaped(r#"