使用Pandoc创建文档

维哥

我想创建一个Haskell程序,以使用Pandoc自动生成文档

我使用Pandoc提供的数据类型创建了一个小的示例文档,但是当我启动程序时,ODT文档为空(但My own test file属性中带有标题),并且文本文件仅包含word Template

这是我程序的代码片段:

import Text.Pandoc
import qualified Data.ByteString.Lazy as Byt
import Data.Map (fromList)

main = do
  doc <- writeODT WriterOptions{ writerStandalone=True
                               , writerReferenceODT=Nothing
                               , writerUserDataDir=Nothing
                               , writerTemplate="Template"}  doctest
  let doc2 = writeMarkdown WriterOptions{ writerStandalone=True
                                        , writerTemplate="Template"}  doctest
  putStrLn $ show doctest
  Byt.writeFile "test.odt" doc
  writeFile "test.txt" doc2

doctest = Pandoc ( Meta {unMeta = fromList [("title", MetaInlines [Str "My own testfile"])
                                           ,("authors", MetaInlines [Str "My Name"])  ]} )
                          [Para  [Str "This",Space,Str "is",Space,Str "some",Space,Str "text"],HorizontalRule]

文本文件和ODT文档都应包含该短语This is some text,但我不明白为什么它不出现。

你知道我做错了什么吗?

您是否有一个有效的示例,说明如何使用Haskell生成Pandoc文件?

让·乔克斯

您已启用writerStandalone要求定义模板才能正常工作的选项就个人而言,我不使用模板,而是将writerStandalone选项设置False

要使其工作,请WriterOptions对纯文本编写器使用以下命令

let textfile = writePlain WriterOptions{  writerStandalone=False
                                        , writerExtensions=plainExtensions
                                        , writerWrapText=True
                                        , writerColumns=80}  pandoc

对于docx作者:

docxfile <- writeDocx WriterOptions{ writerStandalone=False
                                   , writerReferenceDocx=Nothing
                                   , writerUserDataDir=Nothing
                                   , writerHighlight        = False
                                   }  pandoc

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章