Add a case for an empty `book_title` parameter
Html page title for every chapter in the book is created by the following code: ```rust let title: String; { let book_title = ctx .data .get("book_title") .and_then(serde_json::Value::as_str) .unwrap_or(""); title = ch.name.clone() + " - " + book_title; } ``` If the `book.toml` file is missing, and `book_title` parameter is empty, there's an awkward ` - ` string hanging at the end of each chapter's title. This PR adds a `match` case to handle that kind of situation.
This commit is contained in:
parent
d5999849d9
commit
95fba3f357
|
@ -61,7 +61,11 @@ impl HtmlHandlebars {
|
||||||
.get("book_title")
|
.get("book_title")
|
||||||
.and_then(serde_json::Value::as_str)
|
.and_then(serde_json::Value::as_str)
|
||||||
.unwrap_or("");
|
.unwrap_or("");
|
||||||
title = ch.name.clone() + " - " + book_title;
|
|
||||||
|
title = match book_title {
|
||||||
|
"" => ch.name.clone(),
|
||||||
|
_ => ch.name.clone() + " - " + book_title,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.data.insert("path".to_owned(), json!(path));
|
ctx.data.insert("path".to_owned(), json!(path));
|
||||||
|
|
Loading…
Reference in New Issue