git.iko.soy/typeable/pandoc
on master help sign in
Use renderTags' for all tag rendering.

This properly handles tags that should be self-closing. Previously `<hr/>` would appear in EPUB output as `<hr></hr>`. Closes #1420.

commitcb62cd08e083d581bcfdba5ce3059925d08c5dba authorJohn MacFarlane <jgm@berkeley.edu> dateSun 13 Jul 2014, 08:28 (12 years ago) parent3516d9d
3 files changed+5−5
src/Text/Pandoc/Readers/Markdown.hs+1−1 src/Text/Pandoc/Writers/EPUB.hs+2−2 src/Text/Pandoc/Writers/Markdown.hs+2−2
src/Text/Pandoc/Readers/Markdown.hs+1−1
@@ -948,7 +948,7 @@ rawVerbatimBlock = try $ do
948948 ["pre", "style", "script"])
949949 (const True))
950950 contents <- manyTill anyChar (htmlTag (~== TagClose tag))
951− return $ open ++ contents ++ renderTags [TagClose tag]
951+ return $ open ++ contents ++ renderTags' [TagClose tag]
952952
953953rawTeXBlock :: MarkdownParser (F Blocks)
954954rawTeXBlock = do
src/Text/Pandoc/Writers/EPUB.hs+2−2
@@ -784,7 +784,7 @@ transformBlock opts mediaRef (RawBlock fmt raw)
784784 | fmt == Format "html" = do
785785 let tags = parseTags raw
786786 tags' <- mapM (transformTag opts mediaRef) tags
787− return $ RawBlock fmt (renderTags tags')
787+ return $ RawBlock fmt (renderTags' tags')
788788transformBlock _ _ b = return b
789789
790790transformInline :: WriterOptions
@@ -804,7 +804,7 @@ transformInline opts mediaRef (RawInline fmt raw)
804804 | fmt == Format "html" = do
805805 let tags = parseTags raw
806806 tags' <- mapM (transformTag opts mediaRef) tags
807− return $ RawInline fmt (renderTags tags')
807+ return $ RawInline fmt (renderTags' tags')
808808transformInline _ _ x = return x
809809
810810writeHtmlInline :: WriterOptions -> Inline -> String
src/Text/Pandoc/Writers/Markdown.hs+2−2
@@ -46,7 +46,7 @@ import Control.Monad.State
4646import qualified Data.Set as Set
4747import Text.Pandoc.Writers.HTML (writeHtmlString)
4848import Text.Pandoc.Readers.TeXMath (readTeXMath')
49−import Text.HTML.TagSoup (renderTags, parseTags, isTagText, Tag(..))
49+import Text.HTML.TagSoup (parseTags, isTagText, Tag(..))
5050import Network.URI (isURI)
5151import Data.Default
5252import Data.Yaml (Value(Object,String,Array,Bool,Number))
@@ -471,7 +471,7 @@ addMarkdownAttribute :: String -> String
471471addMarkdownAttribute s =
472472 case span isTagText $ reverse $ parseTags s of
473473 (xs,(TagOpen t attrs:rest)) ->
474− renderTags $ reverse rest ++ (TagOpen t attrs' : reverse xs)
474+ renderTags' $ reverse rest ++ (TagOpen t attrs' : reverse xs)
475475 where attrs' = ("markdown","1"):[(x,y) | (x,y) <- attrs,
476476 x /= "markdown"]
477477 _ -> s