docs(README.md): update example

This commit is contained in:
PoiScript 2019-07-31 16:18:32 +08:00
parent 54dccb614b
commit 5b9ceebea4

View file

@ -106,16 +106,15 @@ struct MyHtmlHandler(DefaultHtmlHandler);
impl HtmlHandler<MyError> for MyHtmlHandler { impl HtmlHandler<MyError> for MyHtmlHandler {
fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> { fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
match element { match element {
Element::Headline(headline) => { Element::Title(title) => {
if headline.level > 6 { if title.level > 6 {
return Err(MyError::Heading); return Err(MyError::Heading);
} else { } else {
write!( write!(
w, w,
"<h{0}><a id=\"{1}\" href=\"#{1}\">{2}</a></h{0}>", "<h{0}><a id=\"{1}\" href=\"#{1}\">",
headline.level, title.level,
slugify!(headline.title), slugify!(title.raw),
Escape(headline.title),
)?; )?;
} }
} }
@ -124,6 +123,16 @@ impl HtmlHandler<MyError> for MyHtmlHandler {
} }
Ok(()) Ok(())
} }
fn end<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
match element {
Element::Title(title) => {
write!(w, "</a></h{}>", title.level,)?;
}
_ => self.0.end(w, element)?,
}
Ok(())
}
} }
fn main() -> Result<(), MyError> { fn main() -> Result<(), MyError> {