マークダウン ファイルを html ファイルに変換し、純粋なシステムで IO を正常に動作させようとするときに、テンプレート ファイルを読み込んでいます。
template :: IO String
template = readFile "/File/Path/template.html"
siteOptions :: WriterOptions
siteOptions = def { writerStandalone = True, writerTemplate = template }
convertMdtoHtml :: FilePath -> IO ()
convertMdtoHtml file = do
contents <- readFile file
let pandoc = readMarkdown def contents
let html = writeHtmlString siteOptions pandoc
writeFile (file ++ ".html") html
これは、私が使用しようとしている writeHtmlString のドキュメントですhttp://hackage.haskell.org/packages/archive/pandoc/1.11.1/doc/html/Text-Pandoc-Writers-HTML.html
これを実行しようとすると発生するエラーは
Couldn't match expected type `String' with actual type `IO String'
Haskellでこれを行う方法はありますか、それともテンプレートファイルを文字列としてコードに含める必要がありますか?
ありがとうございました