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 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 )