@@ -8,8 +8,9 @@ module Hakyll.Main
88import Control.Applicative ((<$>))
99import Control.Concurrent (forkIO)
1010import Control.Monad (when)
11−import System.Environment (getProgName, getArgs)
1211import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
12+import System.Environment (getProgName, getArgs)
13+import System.Process (system)
1314import qualified Data.Set as S
1415
1516import Hakyll.Core.Configuration
@@ -40,6 +41,7 @@ hakyllWith conf rules = do
4041 ["rebuild"] -> rebuild conf rules
4142 ["server"] -> server conf 8000
4243 ["server", p] -> server conf (read p)
44+ ["deploy"] -> deploy conf
4345 _ -> help
4446
4547-- | Build the site
@@ -80,6 +82,7 @@ help = do
8082 , name ++ " preview [port] Run a server and autocompile"
8183 , name ++ " rebuild Clean up and build again"
8284 , name ++ " server [port] Run a local test server"
85+ , name ++ " deploy Upload/deploy your site"
8386 ]
8487
8588-- | Preview the site
@@ -109,3 +112,10 @@ server conf port = do
109112 staticServer destination preServeHook port
110113 where
111114 preServeHook _ = return ()
115+
116+-- Upload the site
117+--
118+deploy :: HakyllConfiguration -> IO ()
119+deploy conf = do
120+ _ <- system $ deployCommand conf
121+ return ()