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 !/users/add AdminUserAddR GET POST
/admin AdminR GET /admin AdminR GET
/admin/test AdminTestR GET POST /admin/test AdminTestR GET POST
/admin/test/pdf AdminTestPdfR GET
/admin/errMsg AdminErrMsgR GET POST /admin/errMsg AdminErrMsgR GET POST
/admin/tokens AdminTokensR GET POST /admin/tokens AdminTokensR GET POST
/admin/crontab AdminCrontabR GET /admin/crontab AdminCrontabR GET

View File

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

View File

@ -1,6 +1,7 @@
module Handler.Admin.Test module Handler.Admin.Test
( getAdminTestR ( getAdminTestR
, postAdminTestR , postAdminTestR
, getAdminTestPdfR
) where ) where
import Import import Import
@ -13,6 +14,9 @@ import qualified Data.Text as Text
import qualified Data.Set as Set import qualified Data.Set as Set
import qualified Data.Map as Map 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) import Handler.Admin.Test.Download (testDownload)
@ -268,15 +272,18 @@ postAdminTestR = do
getPDFTestR :: Handler TypedContent getAdminTestPdfR :: Handler TypedContent
getPDFTestR = do getAdminTestPdfR = do
let content <- liftIO . P.runIO $ do
writer = error "todo" let
writeropts = error "todo" md = "# Hello \n\n This is some Text." :: Text
doc = error "todo" texopts = []
doc <- liftIO makePDF "pdflatex" writer writeropts doc writeropts = def
case doc of doc <- P.readMarkdown def md
Left bs -> res <- P.makePDF "pdflatex" texopts P.writeLaTeX writeropts doc
return $ TypedContent typeOctet $ toContent bs case res of
Right bs -> Right bs -> return bs
return $ TypedContent typeOctet $ toContent 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>^{modal "Email-Test" (Right emailWidget')}
<li> <li>
Some icons: ^{isVisible False} ^{hasComment True} Some icons: ^{isVisible False} ^{hasComment True}
<section>
<h2>Download a generated PDF
Here is a
<a href=@{AdminTestPdfR}>Download-Link