03bfe08e1d
This moves the various projects from "type-based" folders (such as "services" or "tools") into more appropriate semantic folders (such as "nix", "ops" or "web"). Deprecated projects (nixcon-demo & gotest) which only existed for testing/demonstration purposes have been removed. (Note: *all* builds are broken with this commit)
24 lines
537 B
Haskell
24 lines
537 B
Haskell
-- | Main module for the blog's web server
|
|
module Main where
|
|
|
|
import Control.Applicative ((<$>), (<*>))
|
|
import Server (runBlog)
|
|
import System.Environment (getEnv)
|
|
|
|
data MainOptions
|
|
= MainOptions
|
|
{ blogPort :: Int,
|
|
resourceDir :: String
|
|
}
|
|
|
|
readOpts :: IO MainOptions
|
|
readOpts =
|
|
MainOptions
|
|
<$> (fmap read $ getEnv "PORT")
|
|
<*> getEnv "RESOURCE_DIR"
|
|
|
|
main :: IO ()
|
|
main = do
|
|
opts <- readOpts
|
|
putStrLn ("tazblog starting on port " ++ (show $ blogPort opts))
|
|
runBlog (blogPort opts) (resourceDir opts)
|