From df01d3c1a7732d49994675af1bcc09aeb98a3d43 Mon Sep 17 00:00:00 2001 From: sabadev Date: Mon, 15 Mar 2021 22:02:58 -0400 Subject: [PATCH] Added functions to render blog posts. --- src/RenderBlog.hs | 17 +++++++++++++++++ src/Server.hs | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/RenderBlog.hs diff --git a/src/RenderBlog.hs b/src/RenderBlog.hs new file mode 100644 index 0000000..204efda --- /dev/null +++ b/src/RenderBlog.hs @@ -0,0 +1,17 @@ +module RenderBlog (renderBlog) where + +import CMark (Node(..), CMarkOption(..), nodeToHtml, commonmarkToNode, optSafe) +import Lucid (Html(..), toHtmlRaw) +import qualified Data.Text as T + +renderBlog :: T.Text -> Html () +renderBlog = renderNode . cssToNode + +cmarkOptions :: [CMarkOption] +cmarkOptions = [optSafe] + +cssToNode :: T.Text -> Node +cssToNode = commonmarkToNode cmarkOptions + +renderNode :: Node -> Html () +renderNode = toHtmlRaw . nodeToHtml cmarkOptions diff --git a/src/Server.hs b/src/Server.hs index b0a5f5f..0caf0a0 100644 --- a/src/Server.hs +++ b/src/Server.hs @@ -1,8 +1,9 @@ module Server where import CssContentType -import Servant import Lucid +import RenderBlog (renderBlog) +import Servant import Servant.HTML.Lucid (HTML(..)) import qualified Data.Text as T -- 2.20.1