diff options
author | Alexander Krotov <ilabdsf@gmail.com> | 2017-09-10 12:42:24 +0300 |
---|---|---|
committer | Alexander Krotov <ilabdsf@gmail.com> | 2017-09-10 12:42:24 +0300 |
commit | afedb41b170cd9198ab589567f39e99717667a31 (patch) | |
tree | 79b2a7467b4648b2dfc64caa02d1c093290b12be /src | |
parent | cbdeed9cfd027d2deede890a5a9177423178cea4 (diff) | |
download | pandoc-afedb41b170cd9198ab589567f39e99717667a31.tar.gz |
Muse reader: trim newlines from <example>s
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 3b089772f..f70085c54 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -223,7 +223,16 @@ header = try $ do return $ B.headerWith attr level <$> content exampleTag :: PandocMonad m => MuseParser m (F Blocks) -exampleTag = liftM (return . uncurry B.codeBlockWith) $ htmlElement "example" +exampleTag = do + (attr, contents) <- htmlElement "example" + return $ return $ B.codeBlockWith attr $ chop contents + where lchop s = case s of + '\n':ss -> ss + _ -> s + rchop = reverse . lchop . reverse + -- Trim up to one newline from the beginning and the end, + -- in case opening and/or closing tags are on separate lines. + chop = lchop . rchop literal :: PandocMonad m => MuseParser m (F Blocks) literal = liftM (return . rawBlock) $ htmlElement "literal" |