git.iko.soy/typeable/pandoc
on master help sign in
Markdown Reader: yamlToMeta respects extensions (#5276)

Add ReaderOptions parameter to yamlToMeta [API change]. fixes #5272

commit0216b68aae35c2935247667b9c61271e6d122b48 authorMauro Bieg <mb21@users.noreply.github.com> dateFri 1 Mar 2019, 06:52 (8 years ago) parent77faccb
2 files changed+7−7
src/Text/Pandoc/App.hs+5−4 src/Text/Pandoc/Readers/Markdown.hs+2−3
src/Text/Pandoc/App.hs+5−4
@@ -211,10 +211,6 @@ convertWithOpts opts = do
211211 ("application/xml", jatsCSL)
212212 return $ ("csl", jatsEncoded) : optMetadata opts
213213 else return $ optMetadata opts
214− metadataFromFile <-
215− case optMetadataFile opts of
216− Nothing -> return mempty
217− Just file -> readFileLazy file >>= yamlToMeta
218214
219215 case lookup "lang" (optMetadata opts) of
220216 Just l -> case parseBCP47 l of
@@ -235,6 +231,11 @@ convertWithOpts opts = do
235231 , readerStripComments = optStripComments opts
236232 }
237233
234+ metadataFromFile <-
235+ case optMetadataFile opts of
236+ Nothing -> return mempty
237+ Just file -> readFileLazy file >>= yamlToMeta readerOpts
238+
238239 let transforms = (case optBaseHeaderLevel opts of
239240 x | x > 1 -> (headerShift (x - 1) :)
240241 | otherwise -> id) .
src/Text/Pandoc/Readers/Markdown.hs+2−3
@@ -249,12 +249,11 @@ yamlMetaBlock = try $ do
249249
250250-- | Read a YAML string and convert it to pandoc metadata.
251251-- String scalars in the YAML are parsed as Markdown.
252−yamlToMeta :: PandocMonad m => BS.ByteString -> m Meta
253−yamlToMeta bstr = do
252+yamlToMeta :: PandocMonad m => ReaderOptions -> BS.ByteString -> m Meta
253+yamlToMeta opts bstr = do
254254 let parser = do
255255 meta <- yamlBsToMeta bstr
256256 return $ runF meta defaultParserState
257− opts = def{ readerExtensions = pandocExtensions }
258257 parsed <- readWithM parser def{ stateOptions = opts } ""
259258 case parsed of
260259 Right result -> return result