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

import Bamboo.Helper.Env hiding (body)
import Bamboo.Type.Reader

data StaticWidget = StaticWidget
  { name :: String
  , body :: String
  , 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_file
  reader = s.take_extension.guess_reader.fromMaybe default_reader
  name = s.takeFileName.drop_known_extension