packages feed

mole-0.0.3: src/Data/Mole/Builder.hs

module Data.Mole.Builder where


import           Data.Mole.Types
import           Data.Mole.Builder.Html
import           Data.Mole.Builder.Binary
import           Data.Mole.Builder.JavaScript
import           Data.Mole.Builder.Image
import           Data.Mole.Builder.Stylesheet

import           System.FilePath



builderForFile :: FilePath -> String -> Handle -> AssetId -> IO Builder
builderForFile basePath x = case takeExtension x of
    ".css"  -> stylesheetBuilder x x
    ".html" -> htmlBuilder (drop (length basePath) x) x
    ".js"   -> javascriptBuilder x
    ".png"  -> imageBuilder x "image/png"
    ".jpeg" -> imageBuilder x "image/jpeg"
    ".jpg"  -> imageBuilder x "image/jpeg"
    _       -> binaryBuilder x "application/octet-stream"