globFilePackage which provides absolute globFile paths within package

This commit is contained in:
David Hewson 2020-08-07 13:20:51 +01:00
parent 8845483c20
commit b73a95c8b6
2 changed files with 7 additions and 0 deletions

View File

@ -5,6 +5,7 @@
module Yesod.Default.Util
( addStaticContentExternal
, globFile
, globFilePackage
, widgetFileNoReload
, widgetFileReload
, TemplateLanguage (..)
@ -15,6 +16,7 @@ module Yesod.Default.Util
) where
import qualified Data.ByteString.Lazy as L
import Data.FileEmbed (makeRelativeToProject)
import Data.Text (Text, pack, unpack)
import Yesod.Core -- purposely using complete import so that Haddock will see addStaticContent
import Control.Monad (when, unless)
@ -64,6 +66,10 @@ addStaticContentExternal minify hash staticDir toRoute ext' _ content = do
globFile :: String -> String -> FilePath
globFile kind x = "templates/" ++ x ++ "." ++ kind
-- | `globFile` but returned path is absolute and within the package the Q Exp is evaluated
globFilePackage :: String -> String -> Q FilePath
globFilePackage = (makeRelativeToProject <$>) . globFile
data TemplateLanguage = TemplateLanguage
{ tlRequiresToWidget :: Bool
, tlExtension :: String

View File

@ -25,6 +25,7 @@ library
, data-default-class
, directory
, fast-logger
, file-embed
, monad-logger
, shakespeare
, streaming-commons