summaryrefslogtreecommitdiff
path: root/src/html.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/html.rs')
-rw-r--r--src/html.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/html.rs b/src/html.rs
index 90bf9d5..9d048a5 100644
--- a/src/html.rs
+++ b/src/html.rs
@@ -134,8 +134,17 @@ pub fn parse(markdown: &str) -> Result<Element, SiteError> {
}
},
Event::End(tag) => match &tag {
- Tag::Paragraph
- | Tag::Heading(_, _, _)
+ Tag::Paragraph => {
+ trace!("at end of paragraph, looking for definition list use");
+ let e = stack.pop();
+ let s = as_plain_text(e.children());
+ trace!("paragraph text: {:?}", s);
+ if s.starts_with(": ") || s.contains("\n: ") {
+ return Err(SiteError::DefinitionList(s));
+ }
+ stack.append_child(Content::Elt(e));
+ }
+ Tag::Heading(_, _, _)
| Tag::List(_)
| Tag::Item
| Tag::Link(_, _, _)
@@ -162,7 +171,7 @@ pub fn parse(markdown: &str) -> Result<Element, SiteError> {
}
Event::Html(s) => stack.append_child(Content::Html(s.to_string())),
Event::FootnoteReference(s) => trace!("footnote ref {:?}", s),
- Event::SoftBreak => stack.append_str(" "),
+ Event::SoftBreak => stack.append_str("\n"),
Event::HardBreak => stack.append_element(Element::new(ElementTag::Br)),
Event::Rule => stack.append_element(Element::new(ElementTag::Hr)),
Event::TaskListMarker(done) => {