-- 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