diff --git a/src/html/head.rs b/src/html/head.rs index bcce846..cea9892 100644 --- a/src/html/head.rs +++ b/src/html/head.rs @@ -12,7 +12,7 @@ socket.addEventListener("message", (event) => { pub(crate) fn render_head<'s, 'r>( sack: &'s Sack, title: String, - styles: &'s [&str], + _styles: &'s [&str], scripts: Option<&'s [String]>, ) -> Result where @@ -24,8 +24,8 @@ where let css_p = sack.get_style("leaflet").expect("Missing styles"); let scripts = match scripts { - Some(scripts) => Some(emit_tags_script(sack, scripts)?), - None => None, + Some(scripts) => Some(emit_tags_script(sack, scripts)?), + None => None, }; Ok(maud_move!( @@ -52,7 +52,7 @@ where } @if let Some(scripts) = scripts { - (scripts) + (scripts) } )) } @@ -63,23 +63,26 @@ fn render_style(style: &HashedStyle) -> impl Renderable + '_ { ) } -fn emit_tags_script<'a>(sack: &'a Sack, scripts: &'a [String]) -> Result { - let tags = scripts - .iter() - .map(|script| emit_tag_script(sack, script)) - .collect::, _>>()?; +fn emit_tags_script<'a>( + sack: &'a Sack, + scripts: &'a [String], +) -> Result { + let tags = scripts + .iter() + .map(|script| emit_tag_script(sack, script)) + .collect::, _>>()?; - Ok(maud_move!( - @for tag in tags { - (tag) - } - )) + Ok(maud_move!( + @for tag in tags { + (tag) + } + )) } fn emit_tag_script<'a>(sack: &'a Sack, script: &'a str) -> Result { - let src = sack - .get_script(script) - .ok_or(format!("Missing script {script}"))?; + let src = sack + .get_script(script) + .ok_or(format!("Missing script {script}"))?; - Ok(maud_move!(script type="module" src=(src.path.as_str()) defer {})) + Ok(maud_move!(script type="module" src=(src.path.as_str()) defer {})) } diff --git a/src/html/slideshow.rs b/src/html/slideshow.rs index ffd46f6..78a0741 100644 --- a/src/html/slideshow.rs +++ b/src/html/slideshow.rs @@ -1,3 +1,5 @@ +use std::fmt::Write; + use camino::Utf8Path; use chrono::{DateTime, Utc}; use hauchiwa::{Bibliography, Outline, Sack}; @@ -37,13 +39,15 @@ pub fn parse_content( .collect::>() }) .map(|stack| match stack.len() > 1 { - true => format!( - "
{}
", - stack - .into_iter() - .map(|slide| format!("
{slide}
")) - .collect::() - ), + true => { + let mut buffer = String::from("
"); + + for slide in stack { + write!(buffer, "
{}
", slide).unwrap(); + } + + buffer + } false => format!("
{}
", stack[0]), }) .collect::();