File: StaticFiles.hs

package info (click to toggle)
haskell-hledger-web 0.23.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,184 kB
  • ctags: 355
  • sloc: haskell: 1,190; makefile: 47
file content (32 lines) | stat: -rw-r--r-- 1,166 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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)