blob: ab4f214b6f7ab5e396e1af168d09409bbdba259b (
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
module WWW.Base
( baseConfig
, baseHakyll
, domain
, wwwRoot
, myHakyllReaderOptions
, myHakyllWriterOptions
) where
import Prolog
import Hakyll
import System.Process
import Text.Pandoc.Options
-- | mathematicaster.org
domain :: IsString s => s
domain = "mathematicaster.org"
-- | /var/www
wwwRoot :: IsString s => s
wwwRoot = "/var/www"
baseConfig :: FilePath -> Configuration
baseConfig p = defaultConfiguration
{ destinationDirectory = "output"
, storeDirectory = ".cache"
, tmpDirectory = ".cache/tmp"
, deploySite = \cfg -> rawSystem "rsync"
[ "-aP"
, "--delete-after"
, "--chown=nginx:nginx"
, destinationDirectory cfg <> "/"
, "root@" <> domain <> ":" <> wwwRoot <> "/" <> p
]
}
baseHakyll :: MonadIO m => FilePath -> Rules a -> m ()
baseHakyll p = liftIO . hakyllWith (baseConfig p)
myHakyllReaderOptions :: ReaderOptions
myHakyllReaderOptions = defaultHakyllReaderOptions
myHakyllWriterOptions :: WriterOptions
myHakyllWriterOptions = defaultHakyllWriterOptions
{ writerHTMLMathMethod = MathJax mempty
}
|