module MathiasSM.Context.Site (siteContext) where
import Hakyll (Context, constField)
import MathiasSM.Config (SiteConfig, baseUrl, mathjaxVersion, siteAuthor, siteCopyrightYear, siteDescription, siteDomain, siteName)
siteContext :: SiteConfig -> Context a
siteContext :: forall a. SiteConfig -> Context a
siteContext SiteConfig
cfg =
[Context a] -> Context a
forall a. Monoid a => [a] -> a
mconcat
[ String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-name" (SiteConfig -> String
siteName SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-description" (SiteConfig -> String
siteDescription SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-author" (SiteConfig -> String
siteAuthor SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-copyrightYear" (Int -> String
forall a. Show a => a -> String
show (Int -> String) -> Int -> String
forall a b. (a -> b) -> a -> b
$ SiteConfig -> Int
siteCopyrightYear SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-baseUrl" (SiteConfig -> String
baseUrl SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"site-domain" (SiteConfig -> String
siteDomain SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"mathjax-version" (SiteConfig -> String
mathjaxVersion SiteConfig
cfg)
, String -> String -> Context a
forall a. String -> String -> Context a
constField String
"root" (SiteConfig -> String
baseUrl SiteConfig
cfg)
]