diff options
author | Søren Mortensen <soren@neros.dev> | 2020-08-31 10:00:03 +0100 |
---|---|---|
committer | Søren Mortensen <soren@neros.dev> | 2020-08-31 10:00:03 +0100 |
commit | 2fb489137bc6769be5b3ab195937c5d00f51357e (patch) | |
tree | c2cb10ff9cd4292038f3b3cf4d5e4954ededa45a /src | |
parent | f6768b816ce371cc3759e06b001f1365c83cbd2d (diff) |
Wrap draft chapter titles in a <div>
Fixes the problem of a missing space before the title of draft chapters,
due to the title not being wrapped in an `<a></a>`.
Diffstat (limited to 'src')
-rw-r--r-- | src/renderer/html_handlebars/helpers/toc.rs | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/src/renderer/html_handlebars/helpers/toc.rs b/src/renderer/html_handlebars/helpers/toc.rs index 47eda596..7a5d8a28 100644 --- a/src/renderer/html_handlebars/helpers/toc.rs +++ b/src/renderer/html_handlebars/helpers/toc.rs @@ -108,32 +108,32 @@ impl HelperDef for RenderToc { } // Link - let path_exists = if let Some(path) = item.get("path") { - if !path.is_empty() { - out.write("<a href=\"")?; - - let tmp = Path::new(item.get("path").expect("Error: path should be Some(_)")) - .with_extension("html") - .to_str() - .unwrap() - // Hack for windows who tends to use `\` as separator instead of `/` - .replace("\\", "/"); - - // Add link - out.write(&utils::fs::path_to_root(¤t_path))?; - out.write(&tmp)?; - out.write("\"")?; - - if path == ¤t_path { - out.write(" class=\"active\"")?; - } - - out.write(">")?; - true - } else { - false + let path_exists = if let Some(path) = + item.get("path") + .and_then(|p| if p.is_empty() { None } else { Some(p) }) + { + out.write("<a href=\"")?; + + let tmp = Path::new(item.get("path").expect("Error: path should be Some(_)")) + .with_extension("html") + .to_str() + .unwrap() + // Hack for windows who tends to use `\` as separator instead of `/` + .replace("\\", "/"); + + // Add link + out.write(&utils::fs::path_to_root(¤t_path))?; + out.write(&tmp)?; + out.write("\"")?; + + if path == ¤t_path { + out.write(" class=\"active\"")?; } + + out.write(">")?; + true } else { + out.write("<div>")?; false }; @@ -165,6 +165,8 @@ impl HelperDef for RenderToc { if path_exists { out.write("</a>")?; + } else { + out.write("</div>")?; } // Render expand/collapse toggle |