From d0369e15bf3cc0f61b1997a508187347c39978ef Mon Sep 17 00:00:00 2001
From: metamuffin {}
", escape(&page.title)).unwrap();
+ render_toc(&mut html, &ast.nodes);
+ render_nodes(&mut html, &mut refs, &ast.nodes);
+ render_refs(&mut html, &refs);
+ write!(&mut html, "").unwrap();
if args.tar {
let mut header = Header::new_gnu();
@@ -91,10 +92,9 @@ fn main() {
archive.finish().unwrap();
}
-fn title_to_filename(t: &str) -> String {
+fn urlencode(t: &str) -> String {
t.replace("/", "_")
}
-
pub fn escape(text: &str) -> String {
text.replace("&", "&")
.replace("<", "<")
@@ -121,32 +121,34 @@ fn render_node(html: &mut String, refs: &mut Vec
").unwrap(),
- parse_wiki_text::Node::Image { target, text, .. } => write!(html, "[todo: image]").unwrap(),
+ parse_wiki_text::Node::Image {
+ target: _, text: _, ..
+ } => write!(html, "[todo: image]").unwrap(),
parse_wiki_text::Node::Italic { .. } => (),
parse_wiki_text::Node::Link { target, text, .. } => write!(
html,
"{}",
- title_to_filename(target), // TODO does this always link to wikipedia?
+ urlencode(target), // TODO does this always link to wikipedia?
render_nodes_to_string(text, refs)
)
.unwrap(),
@@ -172,24 +174,28 @@ fn render_node(html: &mut String, refs: &mut Vec
").unwrap(), - parse_wiki_text::Node::Parameter { default, name, .. } => { - write!(html, "[todo: parameter]").unwrap() - } + parse_wiki_text::Node::Parameter { + default: _, + name: _, + .. + } => write!(html, "[todo: parameter]").unwrap(), parse_wiki_text::Node::Preformatted { nodes, .. } => { write!(html, "
{}", render_nodes_to_string(nodes, refs)).unwrap()
}
parse_wiki_text::Node::Redirect { target, .. } => write!(
html,
"Redirect: {}",
- title_to_filename(target),
- title_to_filename(target)
+ urlencode(target),
+ urlencode(target)
)
.unwrap(),
- parse_wiki_text::Node::StartTag { name, .. } => write!(html, "[todo: start tag]").unwrap(),
+ parse_wiki_text::Node::StartTag { name: _, .. } => {
+ write!(html, "[todo: start tag]").unwrap()
+ }
parse_wiki_text::Node::Table {
- attributes,
- captions,
- rows,
+ attributes: _,
+ captions: _,
+ rows: _,
..
} => write!(html, "[todo: table]").unwrap(),
parse_wiki_text::Node::Tag { name, nodes, .. } => match name.as_ref() {
@@ -216,6 +222,32 @@ fn render_node(html: &mut String, refs: &mut Vec