packages feed

bamboo-2009.5.23: src/Bamboo/Type/StaticWidget.hs

{-# LANGUAGE NoImplicitPrelude #-}
module Bamboo.Type.StaticWidget where

import Bamboo.Helper.Env hiding (body)
import Bamboo.Type.Reader
import qualified Data.ByteString.Lazy.Char8 as L

data StaticWidget = StaticWidget
  { name :: String
  , body :: L.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