aboutsummaryrefslogtreecommitdiff
path: root/src/View/Page.hs
diff options
context:
space:
mode:
authorJoris Guyonvarch2014-04-06 22:55:16 +0200
committerJoris2019-05-01 15:34:22 +0200
commit0fe906ae7453aa684e998bbcc7a78b62d84f0206 (patch)
treed3968af830b964193349187fb6fc583780cd0ce3 /src/View/Page.hs
parent8b11c4be2b3ac354fa14534662dbd92374617a3e (diff)
Show resume and projects from a configuration file
Diffstat (limited to 'src/View/Page.hs')
-rw-r--r--src/View/Page.hs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/View/Page.hs b/src/View/Page.hs
new file mode 100644
index 0000000..b7267e8
--- /dev/null
+++ b/src/View/Page.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module View.Page
+ ( renderPage
+ ) where
+
+import Data.Text.Internal.Lazy
+import Data.String (fromString)
+
+import Text.Blaze.Html
+import Text.Blaze.Html5
+import Text.Blaze.Html5.Attributes
+import qualified Text.Blaze.Html5 as H
+import Text.Blaze.Html.Renderer.Text (renderHtml)
+
+import qualified Model as M
+import qualified Model.Identity as I
+
+renderPage :: M.Model -> Html -> Text
+renderPage model page =
+ renderHtml $ do
+ docTypeHtml $ do
+ H.head $ do
+ H.title $ fromString . I.name . M.identity $ model
+ meta ! charset "UTF-8"
+ meta ! name "viewport" ! content "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"
+ meta ! name "author" ! content (toValue $ I.name . M.identity $ model)
+ meta ! name "description" ! content (toValue $ M.description model)
+ link ! rel "stylesheet" ! type_ "text/css" ! href "/stylesheets/reset.css"
+ link ! rel "stylesheet" ! href "/stylesheets/font-awesome-4.2.0/css/font-awesome.min.css"
+ link ! rel "stylesheet" ! type_ "text/css" ! href "/design"
+ link ! rel "icon" ! type_ "image/png" ! href "/images/icon.png"
+ H.body page