shakespeare-2.1.0.1: A toolkit for making compile-time interpolated templates
Safe HaskellNone
LanguageHaskell2010

Text.Cassius.Ordered

Description

This module is the twin brother of module Text.Cassius. The difference is that these parsers preserv the given order of attributes and mixin blocks.

let bams = [cassiusMixin|
              bam1:bam2
              ^{bins}
              bam3:bam4
           |] :: Mixin
    bins = [cassiusMixin|
              bin1:bin2
           |] :: Mixin
 in renderCss ([Text.Ordered.lucius|foo{bar1:bar2;^{bams};bar3:bar4;}|] undefined)
"foo{bar1:bar2;bam1:bam2;bin1:bin2;bam3:bam4;bar3:bar4}"
Synopsis

Datatypes

data Css #

type CssUrl url = (url -> [(Text, Text)] -> Text) -> Css #

Type class

class ToCss a where #

Methods

toCss :: a -> Builder #

Instances

Instances details
ToCss AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss Color # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: Color -> Builder #

ToCss EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: EmSize -> Builder #

ToCss ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: ExSize -> Builder #

ToCss PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss PixelSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: PixelSize -> Builder #

ToCss Text # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: Text -> Builder #

ToCss Text # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: Text -> Builder #

ToCss [Char] # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: [Char] -> Builder #

Rendering

renderCssUrl :: (url -> [(Text, Text)] -> Text) -> CssUrl url -> Text #

Parsing

cassius :: QuasiQuoter #

Since: 2.0.30

cassiusFile :: FilePath -> Q Exp #

Since: 2.0.30

cassiusFileDebug :: FilePath -> Q Exp #

Since: 2.0.30

cassiusFileReload :: FilePath -> Q Exp #

Since: 2.0.30

Mixims

cassiusMixin :: QuasiQuoter #

Create a mixin with Cassius syntax.

| @since 2.0.30

data Mixin #

Instances

Instances details
Monoid Mixin # 
Instance details

Defined in Text.Internal.Css

Methods

mempty :: Mixin #

mappend :: Mixin -> Mixin -> Mixin #

mconcat :: [Mixin] -> Mixin #

Semigroup Mixin # 
Instance details

Defined in Text.Internal.Css

Methods

(<>) :: Mixin -> Mixin -> Mixin #

sconcat :: NonEmpty Mixin -> Mixin #

stimes :: Integral b => b -> Mixin -> Mixin #

Lift Mixin # 
Instance details

Defined in Text.Internal.Css

Methods

lift :: Quote m => Mixin -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Mixin -> Code m Mixin #

ToCss instances

Color

data Color #

Constructors

Color Word8 Word8 Word8 

Instances

Instances details
Show Color # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> Color -> ShowS #

show :: Color -> String #

showList :: [Color] -> ShowS #

ToCss Color # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: Color -> Builder #

Size

mkSize :: String -> ExpQ #

Create a CSS size, e.g. $(mkSize "100px").

data AbsoluteUnit #

Absolute size units.

Constructors

Centimeter 
Inch 
Millimeter 
Pica 
Point 

Instances

Instances details
Show AbsoluteUnit # 
Instance details

Defined in Text.Internal.CssCommon

Eq AbsoluteUnit # 
Instance details

Defined in Text.Internal.CssCommon

data AbsoluteSize #

Not intended for direct use, see mkSize.

Constructors

AbsoluteSize 

Fields

Instances

Instances details
Num AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

Fractional AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

Show AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

Eq AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

Ord AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss AbsoluteSize # 
Instance details

Defined in Text.Internal.CssCommon

absoluteSize :: AbsoluteUnit -> Rational -> AbsoluteSize #

Constructs AbsoluteSize. Not intended for direct use, see mkSize.

data EmSize #

Constructors

EmSize Rational 

Instances

Instances details
Num EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Fractional EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Show EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Eq EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(==) :: EmSize -> EmSize -> Bool #

(/=) :: EmSize -> EmSize -> Bool #

Ord EmSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss EmSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: EmSize -> Builder #

data ExSize #

Constructors

ExSize Rational 

Instances

Instances details
Num ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Fractional ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Show ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Eq ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(==) :: ExSize -> ExSize -> Bool #

(/=) :: ExSize -> ExSize -> Bool #

Ord ExSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss ExSize # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: ExSize -> Builder #

data PercentageSize #

Not intended for direct use, see mkSize.

Constructors

PercentageSize 

Fields

Instances

Instances details
Num PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

Fractional PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

Show PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

Eq PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

Ord PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

ToCss PercentageSize # 
Instance details

Defined in Text.Internal.CssCommon

percentageSize :: Rational -> PercentageSize #

Constructs PercentageSize. Not intended for direct use, see mkSize.

Internal

cassiusUsedIdentifiers :: String -> [(Deref, VarType)] #

Determine which identifiers are used by the given template, useful for creating systems like yesod devel. | @since 2.0.30