@@ -39,7 +39,7 @@ import Text.Pandoc.Readers.TeXMath
3939import Text.Pandoc.Slides
4040import Text.Pandoc.Highlighting ( highlight, styleToCss,
4141 formatHtmlInline, formatHtmlBlock )
42−import Text.Pandoc.XML (fromEntities)
42+import Text.Pandoc.XML (fromEntities, escapeStringForXML)
4343import Network.HTTP ( urlEncode )
4444import Numeric ( showHex )
4545import Data.Char ( ord, toLower )
@@ -115,8 +115,9 @@ pandocToHtml opts (Pandoc meta blocks) = do
115115 (fmap renderHtml . blockListToHtml opts)
116116 (fmap renderHtml . inlineListToHtml opts)
117117 meta
118− let authsMeta = map stringify $ docAuthors meta
119− let dateMeta = stringify $ docDate meta
118+ let stringifyHTML = escapeStringForXML . stringify
119+ let authsMeta = map stringifyHTML $ docAuthors meta
120+ let dateMeta = stringifyHTML $ docDate meta
120121 let slideLevel = maybe (getSlideLevel blocks) id $ writerSlideLevel opts
121122 let sects = hierarchicalize $
122123 if writerSlideVariant opts == NoSlides
@@ -168,7 +169,7 @@ pandocToHtml opts (Pandoc meta blocks) = do
168169 maybe id (defField "toc" . renderHtml) toc $
169170 defField "author-meta" authsMeta $
170171 maybe id (defField "date-meta") (normalizeDate dateMeta) $
171− defField "pagetitle" (stringify $ docTitle meta) $
172+ defField "pagetitle" (stringifyHTML $ docTitle meta) $
172173 defField "idprefix" (writerIdentifierPrefix opts) $
173174 -- these should maybe be set in pandoc.hs
174175 defField "slidy-url"