fradrive/testdata/test_letters.hs

40 lines
1.3 KiB
Haskell

-- usage:
-- > npm run build
-- > stack ghci -- testdata/test_letters.hs
-- Also see: https://stackoverflow.com/questions/62006705/pandoc-output-in-markdown-how-to-add-the-metadata
import Import
import qualified Data.Text as T
import qualified Data.ByteString.Lazy as LBS
import qualified Text.Pandoc as P
import qualified Text.Pandoc.PDF as P
import qualified Text.Pandoc.Builder as P
import Model.Types.Markup
import Utils.Print
import Handler.PrintCenter
test :: IO T.Text
test = do
res <- P.runIO $ reTemplateLetter (Handler.PrintCenter.mprToMeta def) (markdownToStoredMarkup templateRenewal)
return $ case res of
Left err -> P.renderError err
Right t -> t
test1 = appMeta setIsDeFromLang $ addMeta (mprToMeta def) mempty
test2 = P.runIOorExplode $ do
let readerOpts = def { P.readerExtensions = P.pandocExtensions
, P.readerStripComments = True
, P.readerStandalone = True
}
P.readMarkdown readerOpts templateRenewal
test3 = do
doc1 <- test2
let doc2 = P.setMeta (T.pack "foooooo") (T.pack "baaaaaaar") $ appMeta setIsDeFromLang $ addMeta (mprToMeta def) doc1
writerOpts = def { P.writerExtensions = P.enableExtension P.Ext_yaml_metadata_block P.pandocExtensions}
P.runIOorExplode $ P.writeMarkdown writerOpts doc2