@@ -228,15 +228,16 @@ lineBlock = try $ do
228-- note: paragraph can end in a :: starting a code block
228-- note: paragraph can end in a :: starting a code block
229para :: Parser [Char] ParserState Blocks
229para :: Parser [Char] ParserState Blocks
230para = try $ do
230para = try $ do
231− result <- trimInlines . mconcat <$> many inline
231+ result <- trimInlines . mconcat <$> many1 inline
232+ option (B.plain result) $ try $ do
233− blanklines
234+ blanklines
234− case viewr (B.unMany result) of
235+ case viewr (B.unMany result) of
235− ys :> (Str xs) | "::" `isSuffixOf` xs -> do
236+ ys :> (Str xs) | "::" `isSuffixOf` xs -> do
236− codeblock <- option mempty codeBlockBody
237+ codeblock <- option mempty codeBlockBody
237− return $ B.para (B.Many ys <> B.str (take (length xs - 1) xs))
238+ return $ B.para (B.Many ys <> B.str (take (length xs - 1) xs))
238− <> codeblock
239+ <> codeblock
239− _ -> return (B.para result)
240+ _ -> return (B.para result)
241plain :: Parser [Char] ParserState Blocks
242plain :: Parser [Char] ParserState Blocks
242plain = B.plain . trimInlines . mconcat <$> many1 inline
243plain = B.plain . trimInlines . mconcat <$> many1 inline