chore(pdf): add initial hello-world demo
This commit is contained in:
parent
9a432746fc
commit
62e1694b6e
1
routes
1
routes
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
@ -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
|
||||||
Reference in New Issue
Block a user