Added functions to render blog posts.
authorsabadev <saba@sabadev.xyz>
Tue, 16 Mar 2021 02:02:58 +0000 (22:02 -0400)
committersabadev <dev@sabadev.xyz>
Tue, 13 Apr 2021 01:16:07 +0000 (21:16 -0400)
src/RenderBlog.hs [new file with mode: 0644]
src/Server.hs

diff --git a/src/RenderBlog.hs b/src/RenderBlog.hs
new file mode 100644 (file)
index 0000000..204efda
--- /dev/null
@@ -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
index b0a5f5f..0caf0a0 100644 (file)
@@ -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