@@ -367,7 +367,10 @@ definitionList = B.definitionList <$> many1 defListItem
367defListItem :: MWParser (Inlines, [Blocks])
367defListItem :: MWParser (Inlines, [Blocks])
368defListItem = try $ do
368defListItem = try $ do
369 terms <- mconcat . intersperse B.linebreak <$> many defListTerm
369 terms <- mconcat . intersperse B.linebreak <$> many defListTerm
370+ -- we allow dd with no dt, or dt with no dd
371+ defs <- if B.isNull terms
370− defs <- many1 $ listItem ':'
372+ then many1 $ listItem ':'
373+ else many $ listItem ':'
371 return (terms, defs)
374 return (terms, defs)
373defListTerm :: MWParser Inlines
376defListTerm :: MWParser Inlines