24 lines
648 B
Haskell
24 lines
648 B
Haskell
module Main where
|
|
|
|
import Arguments (Arguments(..))
|
|
import qualified Arguments (get)
|
|
import qualified Blog (build)
|
|
import Control.Monad.Reader (runReaderT)
|
|
import Data.Version (showVersion)
|
|
import qualified HTML (generate)
|
|
import qualified JS (generate)
|
|
import qualified Paths_hablo as Hablo (version)
|
|
import qualified RSS (generate)
|
|
import System.Exit (exitSuccess)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
arguments <- Arguments.get
|
|
case arguments of
|
|
Version -> (putStrLn $ showVersion Hablo.version) >> exitSuccess
|
|
config@(BlogConfig {}) -> Blog.build config >>= runReaderT (do
|
|
HTML.generate
|
|
JS.generate
|
|
RSS.generate
|
|
)
|