@@ -102,6 +102,13 @@ pandocToMuse (Pandoc meta blocks) = do
102102 Nothing -> return main
103103 Just tpl -> renderTemplate' tpl context
104104
105+-- | Convert list of Pandoc block elements to Muse
106+-- | without setting stTopLevel.
107+flatBlockListToMuse :: PandocMonad m
108+ => [Block] -- ^ List of block elements
109+ -> StateT WriterState m Doc
110+flatBlockListToMuse blocks = cat <$> mapM blockToMuse blocks
111+
105112-- | Convert list of Pandoc block elements to Muse.
106113blockListToMuse :: PandocMonad m
107114 => [Block] -- ^ List of block elements
@@ -111,11 +118,11 @@ blockListToMuse blocks = do
111118 modify $ \s -> s { stTopLevel = not $ stInsideBlock s
112119 , stInsideBlock = True
113120 }
114− contents <- mapM blockToMuse blocks
121+ result <- flatBlockListToMuse blocks
115122 modify $ \s -> s { stTopLevel = stTopLevel oldState
116123 , stInsideBlock = stInsideBlock oldState
117124 }
118− return $ cat contents
125+ return result
119126
120127-- | Convert Pandoc block element to Muse.
121128blockToMuse :: PandocMonad m
@@ -141,10 +148,10 @@ blockToMuse (RawBlock (Format format) str) =
141148 return $ blankline $$ "<literal style=\"" <> text format <> "\">" $$
142149 text str $$ "</literal>" $$ blankline
143150blockToMuse (BlockQuote blocks) = do
144− contents <- blockListToMuse blocks
151+ contents <- flatBlockListToMuse blocks
145152 return $ blankline
146153 <> "<quote>"
147− $$ flush contents -- flush to drop blanklines
154+ $$ nest 0 contents -- nest 0 to remove trailing blank lines
148155 $$ "</quote>"
149156 <> blankline
150157blockToMuse (OrderedList (start, style, _) items) = do