git.iko.soy/typeable/pandoc
on master help sign in
Correctly parse "raw" date value in markdown references metadata.

See jgm/citeproc#53.

commitacc9afaf6f6afa14cbe7cd06798275728e78a529 authorJohn MacFarlane <jgm@berkeley.edu> dateThu 11 Feb 2021, 09:16 (6 years ago) parent8ca1916
1 file changed+5−3
src/Text/Pandoc/Citeproc/MetaValue.hs+5−3
src/Text/Pandoc/Citeproc/MetaValue.hs+5−3
@@ -135,12 +135,13 @@ metaValueToVal k v
135135 MetaMap _ -> TextVal mempty
136136
137137metaValueToDate :: MetaValue -> Date
138−metaValueToDate (MetaMap m) =
139− Date
138+metaValueToDate (MetaMap m) = fromMaybe
139+ (Date
140140 { dateParts = dateparts
141141 , dateCirca = circa
142142 , dateSeason = season
143− , dateLiteral = literal }
143+ , dateLiteral = literal })
144+ rawdate
144145 where
145146 dateparts = case M.lookup "date-parts" m of
146147 Just (MetaList xs) ->
@@ -152,6 +153,7 @@ metaValueToDate (MetaMap m) =
152153 M.lookup "circa" m >>= metaValueToBool
153154 season = M.lookup "season" m >>= metaValueToInt
154155 literal = M.lookup "literal" m >>= metaValueToText
156+ rawdate = M.lookup "raw" m >>= metaValueToText >>= rawDateEDTF
155157metaValueToDate (MetaList xs) =
156158 Date{ dateParts = mapMaybe metaValueToDateParts xs
157159 , dateCirca = False