summaryrefslogtreecommitdiff
path: root/app/Main.hs
blob: f739caea6612d4e27e5353081a6465afaffaf949 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
module Main where

import Prolog
import Hakyll

import Hakyll.Alias
import Data.Alias (AliasMap)
import Data.Name (Name_)
import Data.Person (Person_)
import Data.Journal (Journal_)
import Data.License (License_)
import Hakyll.Aeson (yamlCompiler)
import Hakyll.TeX.BibTeX (bibtexCompiler)
import WWW.Base (baseHakyll, domain)
import WWW.Templates (myContext)



main :: IO ()
main = baseHakyll domain $ do
    match "templates/**" $ compile templateCompiler
    match "data/*.bib" $ compile bibtexCompiler
    -- match "data/people.yaml" $ compile $ yamlCompiler @(AliasMap Name_ Person_)
    -- match "data/licenses.yaml" $ compile $ yamlCompiler @(AliasMap StrictText License_)
    -- match "data/journals.yaml" $ compile $ yamlCompiler @(AliasMap StrictText Journal_)
    let baseCtxt :: Compiler (Context String)
        baseCtxt = fold <$> sequence
            [ pure myContext
            , personCtxt @StrictText <$> loadBody "data/people.yaml"
            , licenseCtxt @StrictText <$> loadBody "data/licenses.yaml"
            , journalCtxt @StrictText <$> loadBody "data/journals.yaml"
            ]
    pure ()