chore(pdf): add initial hello-world demo

This commit is contained in:
Steffen Jost 2022-05-23 16:41:03 +02:00
parent 9a432746fc
commit 62e1694b6e
4 changed files with 26 additions and 12 deletions

1
routes
View File

@ -55,6 +55,7 @@
!/users/add AdminUserAddR GET POST
/admin AdminR GET
/admin/test AdminTestR GET POST
/admin/test/pdf AdminTestPdfR GET
/admin/errMsg AdminErrMsgR GET POST
/admin/tokens AdminTokensR GET POST
/admin/crontab AdminCrontabR GET

View File

@ -100,6 +100,7 @@ breadcrumb AdminFunctionaryInviteR = i18nCrumb MsgBreadcrumbFunctionaryInvite No
breadcrumb AdminR = i18nCrumb MsgAdminHeading Nothing
breadcrumb AdminTestR = i18nCrumb MsgMenuAdminTest $ Just AdminR
breadcrumb AdminTestPdfR = i18nCrumb MsgMenuAdminTest $ Just AdminTestR
breadcrumb AdminErrMsgR = i18nCrumb MsgMenuAdminErrMsg $ Just AdminR
breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR
breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR

View File

@ -1,6 +1,7 @@
module Handler.Admin.Test
( getAdminTestR
, postAdminTestR
, getAdminTestPdfR
) where
import Import
@ -13,6 +14,9 @@ import qualified Data.Text as Text
import qualified Data.Set as Set
import qualified Data.Map as Map
import qualified Text.Pandoc as P
import qualified Text.Pandoc.PDF as P
import Handler.Admin.Test.Download (testDownload)
@ -268,15 +272,18 @@ postAdminTestR = do
getPDFTestR :: Handler TypedContent
getPDFTestR = do
let
writer = error "todo"
writeropts = error "todo"
doc = error "todo"
doc <- liftIO makePDF "pdflatex" writer writeropts doc
case doc of
Left bs ->
return $ TypedContent typeOctet $ toContent bs
Right bs ->
return $ TypedContent typeOctet $ toContent bs
getAdminTestPdfR :: Handler TypedContent
getAdminTestPdfR = do
content <- liftIO . P.runIO $ do
let
md = "# Hello \n\n This is some Text." :: Text
texopts = []
writeropts = def
doc <- P.readMarkdown def md
res <- P.makePDF "pdflatex" texopts P.writeLaTeX writeropts doc
case res of
Right bs -> return bs
Left err -> return err
case content of
Right bs -> return $ TypedContent typeOctet $ toContent bs
Left err -> return $ toTypedContent $ tshow err

View File

@ -65,3 +65,8 @@
<li>^{modal "Email-Test" (Right emailWidget')}
<li>
Some icons: ^{isVisible False} ^{hasComment True}
<section>
<h2>Download a generated PDF
Here is a
<a href=@{AdminTestPdfR}>Download-Link