{-# LANGUAGE NoImplicitPrelude #-} module Bamboo.Type.StaticWidget where import Bamboo.Helper.Env hiding (body) import Bamboo.Type.Reader import qualified Data.ByteString.Char8 as S data StaticWidget = StaticWidget { name :: String , body :: S.ByteString , reader :: Reader } deriving (Show, Eq) instance Markable StaticWidget where markup x = render_to_html (x.reader) (x.body) read_static_widget default_reader s = liftM2 (StaticWidget name) body (return reader) where body = s.read_bytestring reader = s.take_extension.guess_reader.fromMaybe default_reader name = s.takeFileName.drop_known_extension