hledger/hledger-web/Settings/StaticFiles.hs
Simon Michael b0d71e3ccc web: declare a bunch of language pragmas
Makes the code more declarative, and makes building without cabal easier.
2015-04-07 18:35:41 -07:00

34 lines
1.2 KiB
Haskell

{-# LANGUAGE TemplateHaskell #-}
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
putStrLn ("Using web files from: " ++ staticDir ++ "/") >> hFlush stdout
Static.staticDevel staticDir)
else (do
-- putStrLn "Using built-in web files" >> hFlush stdout
return $(Static.embed staticDir))
$(publicFiles staticDir)