From b31b6ff2ab5d94e5b6280ba3cb4db7d46267999a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 29 Sep 2022 16:06:55 +0200 Subject: docs --- src/main.rs | 57 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 13 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 6af1908..e8c0375 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,6 +21,8 @@ struct Args { /// Show non-fatal warnings #[arg(short, long)] verbose: bool, + #[arg(short, long, default_value = "")] + footer: String, } fn main() { @@ -34,6 +36,11 @@ fn main() { let input = std::io::BufReader::new(input); let mut archive = tar::Builder::new(stdout()); + let footer = format!( + "staticwiki; {}", + args.footer + ); + for (i, result) in parse_mediawiki_dump::parse(input).enumerate() { match result { Err(error) => { @@ -67,6 +74,7 @@ fn main() { render_toc(&mut html, &ast.nodes); render_nodes(&mut html, &mut refs, &ast.nodes); render_refs(&mut html, &refs); + write!(&mut html, "").unwrap(); write!(&mut html, "").unwrap(); if args.tar { @@ -257,33 +265,56 @@ pub fn render_template( use std::fmt::Write; match name { // TODO this can panic - "lang" => write!(html, "{}", render_nodes_to_string(¶ms[1].value, refs)).unwrap(), + "lang" => write!( + html, + "{}", + render_nodes_to_string(¶ms.get(1)?.value, refs) + ) + .unwrap(), "IPA" => write!( html, "{}", - render_nodes_to_string(¶ms[0].value, refs) + render_nodes_to_string(¶ms.get(0)?.value, refs) ) .unwrap(), "Internetquelle" | "Literatur" => { write!(html, "{}: ").unwrap(); } + "Siehe auch" | "Hauptartikel" => { + let k = text_node(params.get(0)?.value.get(0)?); + write!( + html, + "{}: {}", + escape(name), + urlencode(&k), + escape(&k) + ) + .unwrap(); + } _ => { - write!(html, "[todo: {name:?} template
{params:#?}
]").unwrap(); + write!(html, "[todo: {name:?} template]").unwrap(); + // write!(html, "[todo: {name:?} template
{params:#?}
]").unwrap(); // eprintln!("unsupported template {name:?}"); // eprintln!("{params:?}"); } -- cgit v1.2.3-70-g09d2