Merge pull request #1293 from Evian-Zhang/master
allow space in SUMMARY.md's link destination
This commit is contained in:
commit
3d44553671
|
@ -333,6 +333,7 @@ impl<'a> SummaryParser<'a> {
|
||||||
|
|
||||||
/// Finishes parsing a link once the `Event::Start(Tag::Link(..))` has been opened.
|
/// Finishes parsing a link once the `Event::Start(Tag::Link(..))` has been opened.
|
||||||
fn parse_link(&mut self, href: String) -> Link {
|
fn parse_link(&mut self, href: String) -> Link {
|
||||||
|
let href = href.replace("%20", " ");
|
||||||
let link_content = collect_events!(self.stream, end Tag::Link(..));
|
let link_content = collect_events!(self.stream, end Tag::Link(..));
|
||||||
let name = stringify_events(link_content);
|
let name = stringify_events(link_content);
|
||||||
|
|
||||||
|
@ -947,4 +948,29 @@ mod tests {
|
||||||
|
|
||||||
assert_eq!(got, should_be);
|
assert_eq!(got, should_be);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn allow_space_in_link_destination() {
|
||||||
|
let src = "- [test1](./test%20link1.md)\n- [test2](<./test link2.md>)";
|
||||||
|
let should_be = vec![
|
||||||
|
SummaryItem::Link(Link {
|
||||||
|
name: String::from("test1"),
|
||||||
|
location: Some(PathBuf::from("./test link1.md")),
|
||||||
|
number: Some(SectionNumber(vec![1])),
|
||||||
|
nested_items: Vec::new(),
|
||||||
|
}),
|
||||||
|
SummaryItem::Link(Link {
|
||||||
|
name: String::from("test2"),
|
||||||
|
location: Some(PathBuf::from("./test link2.md")),
|
||||||
|
number: Some(SectionNumber(vec![2])),
|
||||||
|
nested_items: Vec::new(),
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
let mut parser = SummaryParser::new(src);
|
||||||
|
let got = parser
|
||||||
|
.parse_numbered(&mut 0, &mut SectionNumber::default())
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
assert_eq!(got, should_be);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue