summaryrefslogtreecommitdiff
path: root/src/generate_html.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/generate_html.rs')
-rw-r--r--src/generate_html.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/generate_html.rs b/src/generate_html.rs
index f63614b..dca68f7 100644
--- a/src/generate_html.rs
+++ b/src/generate_html.rs
@@ -212,8 +212,24 @@ pub fn document_to_html(document: &MarkdownDocument, page: &Page, website: &Webs
let thumb = format!("{root}images/thumb/{file}");
html!("<a href='{large}'><img src='{thumb}' /></a>");
}),
+ "gallery-nav" => wrap!("div", "class='gallery-nav'", for line in content.lines() {
+ let line = line.trim();
+ if let Some((name, image)) = line.split_once("::") {
+ let name = name.trim();
+ let image = image.trim();
+ let ParsedLink { path, class, label } = parse_internal_link(name, page, website);
+ if website.has_image(image) {
+ let thumb = format!("{root}images/thumb/{image}");
+ html!("<a href='{path}' class='{class}'><img src='{thumb}'/><p>{label}</p></a>")
+ } else {
+ warn!("Gallery-nav on page {from:?} references nonexistent image {image:?}");
+ }
+ } else {
+ warn!("Gallery-nav on page {from:?} has line without a '::' separator");
+ }
+ }),
_ => {
- html!("<pre class='{}'>", language);
+ html!("<pre class='{language}'>");
html!("{}", sanitize_text(content, false));
html!("</pre>");
},