blob: 4f8d1c7cfcc8304f56c828e16f9de45e9a0d80d7 (
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
|
module WWW.Base
( baseConfig
, baseHakyll
, domain
, wwwRoot
) where
import Prolog
import Hakyll
import System.Process
hakyllVersion :: IsString s => s
hakyllVersion = "Hakyll 4.16.2.2"
-- | 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)
|