@@ -32,7 +32,6 @@ TODO:
32- {{{ }}} syntax for <example>
32- {{{ }}} syntax for <example>
33- Page breaks (five "*")
33- Page breaks (five "*")
34- Headings with anchors (make it round trip with Muse writer)
34- Headings with anchors (make it round trip with Muse writer)
36- Org tables
35- Org tables
37- table.el tables
36- table.el tables
38- Images with attributes (floating and width)
37- Images with attributes (floating and width)
@@ -181,6 +180,7 @@ blockElements = choice [ comment
181 , rightTag
180 , rightTag
182 , quoteTag
181 , quoteTag
183 , verseTag
182 , verseTag
184 , bulletList
184 , bulletList
185 , orderedList
185 , orderedList
186 , definitionList
186 , definitionList
@@ -298,6 +298,26 @@ noteBlock = try $ do
298 blocksTillNote =
298 blocksTillNote =
299 many1Till block (eof <|> () <$ lookAhead noteMarker)
299 many1Till block (eof <|> () <$ lookAhead noteMarker)
305+lineVerseLine :: PandocMonad m => MuseParser m String
306+lineVerseLine = try $ do
308+ white <- many1 (char ' ' >> pure '\160')
310+ return $ tail white ++ rest
312+blanklineVerseLine :: PandocMonad m => MuseParser m Char
313+blanklineVerseLine = try $ char '>' >> blankline
315+lineBlock :: PandocMonad m => MuseParser m (F Blocks)
317+ lns <- many1 (pure <$> blanklineVerseLine <|> lineVerseLine)
318+ lns' <- mapM (parseFromString' (trimInlinesF . mconcat <$> many inline)) lns
319+ return $ B.lineBlock <$> sequence lns'