@@ -23,6 +23,7 @@ import Data.List (isPrefixOf)
2323import Data.Maybe (fromMaybe)
2424import Data.Digest.Pure.SHA (sha1, showDigest)
2525import Text.Pandoc.Options
26+import qualified Data.Scientific as Scientific
2627import qualified Text.Pandoc.Builder as B
2728import Text.Pandoc.Logging
2829import Text.Pandoc.Definition
@@ -209,7 +210,9 @@ jsonMetaToMeta = M.mapKeys T.unpack . M.map valueToMetaValue
209210 Success xs -> MetaList $ map valueToMetaValue xs
210211 valueToMetaValue (Bool b) = MetaBool b
211212 valueToMetaValue (String t) = MetaString (T.unpack t)
212− valueToMetaValue (Number n) = MetaString (show n)
213+ valueToMetaValue (Number n)
214+ | Scientific.isInteger n = MetaString (show (floor n :: Integer))
215+ | otherwise = MetaString (show n)
213216 valueToMetaValue Aeson.Null = MetaString ""
214217
215218jsonMetaToPairs :: JSONMeta -> [(String, String)]