40 lines
1.3 KiB
Haskell
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 |