У меня есть небольшой текстовый файл в уценке:
---
title: postWithReference
author: auf
date: 2010-07-29
keywords: homepage
abstract: |
What are the objects of
ontologists .
bibliography: "/home/frank/Workspace8/SSG/site/resources/BibTexLatex.bib"
csl: "/home/frank/Workspace8/SSG/site/resources/chicago-fullnote-bibliography-bb.csl"
---
An example post. With a reference to [@Frank2010a] and more[@navratil08].
## References
и обработайте его в Haskell с processCites'
, который имеет единственный аргумент, а именно данные Pandoc
, полученные из readMarkdown
. Библиография и стиль csl должны быть взяты из входного файла.
Процесс не выдает ошибок, но результат processCites
совпадает с текстом ввода; ссылки не обрабатываются вообще. Для того же ввода ссылки разрешаются с помощью автономного pandoc (это исключает ошибки в библиографии и стиле csl)
pandoc -f markdown -t html --filter=pandoc-citeproc -o p1.html postWithReference.md
Следовательно, проблема заключается в API. У меня есть код:
markdownToHTML4 :: Text -> PandocIO Value
markdownToHTML4 t = do
pandoc <- readMarkdown markdownOptions t
let meta2 = flattenMeta (getMeta pandoc)
-- test if biblio is present and apply
let bib = Just $ ( meta2) ^? key "bibliography" . _String
pandoc2 <- case bib of
Nothing -> return pandoc
_ -> do
res <- liftIO $ processCites' pandoc -- :: Pandoc -> IO Pandoc
when (res == pandoc) $
liftIO $ putStrLn "*** markdownToHTML3 result without references ***"
return res
htmltex <- writeHtml5String html5Options pandoc2
let withContent = ( meta2) & _Object . at "contentHtml" ?~ String ( htmltex)
return withContent
getMeta :: Pandoc -> Meta
getMeta (Pandoc m _) = m
Что я неправильно понимаю? Есть ли какие-либо опции для чтения, необходимые для citeproc? Библиография - это файл BibLatex.
Я нашел в hakyll code комментарий, который я не могу понять в свете этого кода - возможно, кто-то знает, что это за намерение.
-- We need to know the citation keys, add then *before* actually parsing the
-- actual page. If we don't do this, pandoc won't even consider them
-- citations!