我想创建一个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] 删除。
我来说两句