{- | Build HTML tables using @yesod@ and @colonnade@. To learn how to use this module, first read the documentation for @colonnade@, and then read the documentation for @blaze-colonnade@. This library and @blaze-colonnade@ are entirely distinct; neither depends on the other. However, the interfaces they expose are very similar, and the explanations provided counterpart are sufficient to understand this library. -} module Yesod.Colonnade ( -- * Build Cell (..) , cell , stringCell , textCell , builderCell , anchorCell , anchorWidget -- * Apply , encodeWidgetTable , encodeCellTable , encodeDefinitionTable , encodeListItems ) where import Colonnade (Colonnade, Headed) import qualified Colonnade.Encode as E import Control.Monad import Data.Foldable import qualified Data.Semigroup as SG import Data.String (IsString (..)) import Data.Text (Text) import qualified Data.Text.Lazy as LText import qualified Data.Text.Lazy.Builder as TBuilder import Text.Blaze (Attribute, toValue) import qualified Text.Blaze.Html5.Attributes as HA import Yesod.Core import Yesod.Elements (a_, li_, table_, tbody_, td_, th_, thead_, tr_) {- | The attributes that will be applied to a @