diff --git a/src/Text/Pandoc/Writers/CslJson.hs b/src/Text/Pandoc/Writers/CslJson.hs index 3a8f6f5b1..95ffb34a7 100644 --- a/src/Text/Pandoc/Writers/CslJson.hs +++ b/src/Text/Pandoc/Writers/CslJson.hs @@ -23,6 +23,7 @@ import qualified Data.Text as T import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Error import Text.Pandoc.Class +import Text.Pandoc.XML (fromEntities) import Control.Monad.Except (throwError) import Data.ByteString.Lazy (toStrict) import Data.ByteString (ByteString) @@ -84,5 +85,7 @@ toCslJson locale = toStrict . encodePretty' defConfig{ confIndent = Spaces 2 , confCompare = compare , confNumFormat = Generic } - . map (runIdentity . traverse (return . renderCslJson locale . foldMap fromInline)) - + . map (runIdentity . traverse (return . + fromEntities . + renderCslJson locale . + foldMap fromInline)) diff --git a/test/command/citeproc-17.md b/test/command/citeproc-17.md new file mode 100644 index 000000000..d80550f81 --- /dev/null +++ b/test/command/citeproc-17.md @@ -0,0 +1,17 @@ +``` +% pandoc -t csljson +--- +references: +- id: foo + type: book + title: "Hi & Low" +... +^D +[ + { + "id": "foo", + "title": "Hi & Low", + "type": "book" + } +] +```