lebd/src/Settings/StaticR.hs

22 lines
701 B
Haskell

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Settings.StaticR ( staticR ) where
import Foundation ( App, Route(StaticR) )
import Settings ( appStaticDir, compileTimeAppSettings )
import Yesod.Static ( Route(StaticRoute) )
import Settings.StaticR.TH ( mkHashMap )
import qualified Data.Map as M
import qualified Data.Text as T
staticR :: [T.Text] -> Route App
staticR pieces = StaticR $ StaticRoute pieces params
where params = case pieces `M.lookup` staticMap of
Just etag -> [("etag", etag)]
Nothing -> []
staticMap :: M.Map [T.Text] T.Text
staticMap = M.fromList $(mkHashMap . appStaticDir $ compileTimeAppSettings)