2015-04-08 04:35:41 +03:00
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
2012-11-15 21:48:48 +04:00
|
|
|
module Settings.StaticFiles where
|
|
|
|
|
|
|
|
import Prelude (IO, putStrLn, (++), (>>), return)
|
|
|
|
import System.IO (stdout, hFlush)
|
|
|
|
import Yesod.Static
|
|
|
|
import qualified Yesod.Static as Static
|
|
|
|
import Settings (staticDir)
|
|
|
|
import Settings.Development
|
|
|
|
|
|
|
|
-- | use this to create your static file serving site
|
|
|
|
-- staticSite :: IO Static.Static
|
|
|
|
-- staticSite = if development then Static.staticDevel staticDir
|
|
|
|
-- else Static.static staticDir
|
|
|
|
--
|
|
|
|
-- | This generates easy references to files in the static directory at compile time,
|
|
|
|
-- giving you compile-time verification that referenced files exist.
|
|
|
|
-- Warning: any files added to your static directory during run-time can't be
|
|
|
|
-- accessed this way. You'll have to use their FilePath or URL to access them.
|
|
|
|
-- $(staticFiles Settings.staticDir)
|
|
|
|
|
|
|
|
|
|
|
|
staticSite :: IO Static.Static
|
|
|
|
staticSite =
|
|
|
|
if development
|
|
|
|
then (do
|
2013-05-01 18:24:42 +04:00
|
|
|
putStrLn ("Using web files from: " ++ staticDir ++ "/") >> hFlush stdout
|
2012-11-15 21:48:48 +04:00
|
|
|
Static.staticDevel staticDir)
|
|
|
|
else (do
|
2013-05-01 18:24:42 +04:00
|
|
|
-- putStrLn "Using built-in web files" >> hFlush stdout
|
2012-11-15 21:48:48 +04:00
|
|
|
return $(Static.embed staticDir))
|
|
|
|
|
|
|
|
$(publicFiles staticDir)
|