shakespeare-2.1.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 Source #

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

Type class

class ToCss a where Source #

Methods

toCss :: a -> Builder Source #

Instances

Instances details
ToCss AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: AbsoluteSize -> Builder Source #

ToCss Color Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: Color -> Builder Source #

ToCss EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: EmSize -> Builder Source #

ToCss ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: ExSize -> Builder Source #

ToCss PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: PercentageSize -> Builder Source #

ToCss PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: PixelSize -> Builder Source #

ToCss Text Source # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: Text -> Builder Source #

ToCss Text Source # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: Text -> Builder Source #

ToCss [Char] Source # 
Instance details

Defined in Text.Internal.Css

Methods

toCss :: [Char] -> Builder Source #

Rendering

renderCss :: Css -> Text Source #

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

Parsing

cassius :: QuasiQuoter Source #

Since: 2.0.30

cassiusFile :: FilePath -> Q Exp Source #

Since: 2.0.30

cassiusFileDebug :: FilePath -> Q Exp Source #

Since: 2.0.30

cassiusFileReload :: FilePath -> Q Exp Source #

Since: 2.0.30

Mixims

cassiusMixin :: QuasiQuoter Source #

Create a mixin with Cassius syntax.

| @since 2.0.30

data Mixin Source #

Instances

Instances details
Monoid Mixin Source # 
Instance details

Defined in Text.Internal.Css

Semigroup Mixin Source # 
Instance details

Defined in Text.Internal.Css

Methods

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

sconcat :: NonEmpty Mixin -> Mixin

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

Lift Mixin Source # 
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 Source #

Constructors

Color Word8 Word8 Word8 

Instances

Instances details
Show Color Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> Color -> ShowS

show :: Color -> String

showList :: [Color] -> ShowS

ToCss Color Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: Color -> Builder Source #

Size

mkSize :: String -> ExpQ Source #

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

data AbsoluteUnit Source #

Absolute size units.

Constructors

Centimeter 
Inch 
Millimeter 
Pica 
Point 

Instances

Instances details
Show AbsoluteUnit Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> AbsoluteUnit -> ShowS

show :: AbsoluteUnit -> String

showList :: [AbsoluteUnit] -> ShowS

Eq AbsoluteUnit Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(==) :: AbsoluteUnit -> AbsoluteUnit -> Bool

(/=) :: AbsoluteUnit -> AbsoluteUnit -> Bool

data AbsoluteSize Source #

Not intended for direct use, see mkSize.

Constructors

AbsoluteSize 

Fields

Instances

Instances details
Num AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Fractional AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Show AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> AbsoluteSize -> ShowS

show :: AbsoluteSize -> String

showList :: [AbsoluteSize] -> ShowS

Eq AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(==) :: AbsoluteSize -> AbsoluteSize -> Bool

(/=) :: AbsoluteSize -> AbsoluteSize -> Bool

Ord AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

ToCss AbsoluteSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: AbsoluteSize -> Builder Source #

absoluteSize :: AbsoluteUnit -> Rational -> AbsoluteSize Source #

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

data EmSize Source #

Constructors

EmSize Rational 

Instances

Instances details
Num EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Fractional EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(/) :: EmSize -> EmSize -> EmSize

recip :: EmSize -> EmSize

fromRational :: Rational -> EmSize

Show EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> EmSize -> ShowS

show :: EmSize -> String

showList :: [EmSize] -> ShowS

Eq EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

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

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

Ord EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

compare :: EmSize -> EmSize -> Ordering

(<) :: EmSize -> EmSize -> Bool

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

(>) :: EmSize -> EmSize -> Bool

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

max :: EmSize -> EmSize -> EmSize

min :: EmSize -> EmSize -> EmSize

ToCss EmSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: EmSize -> Builder Source #

data ExSize Source #

Constructors

ExSize Rational 

Instances

Instances details
Num ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Fractional ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(/) :: ExSize -> ExSize -> ExSize

recip :: ExSize -> ExSize

fromRational :: Rational -> ExSize

Show ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> ExSize -> ShowS

show :: ExSize -> String

showList :: [ExSize] -> ShowS

Eq ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

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

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

Ord ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

compare :: ExSize -> ExSize -> Ordering

(<) :: ExSize -> ExSize -> Bool

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

(>) :: ExSize -> ExSize -> Bool

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

max :: ExSize -> ExSize -> ExSize

min :: ExSize -> ExSize -> ExSize

ToCss ExSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: ExSize -> Builder Source #

data PercentageSize Source #

Not intended for direct use, see mkSize.

Constructors

PercentageSize 

Fields

Instances

Instances details
Num PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Fractional PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Show PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> PercentageSize -> ShowS

show :: PercentageSize -> String

showList :: [PercentageSize] -> ShowS

Eq PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Ord PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

ToCss PercentageSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: PercentageSize -> Builder Source #

percentageSize :: Rational -> PercentageSize Source #

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

data PixelSize Source #

Constructors

PixelSize Rational 

Instances

Instances details
Num PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Fractional PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Show PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

showsPrec :: Int -> PixelSize -> ShowS

show :: PixelSize -> String

showList :: [PixelSize] -> ShowS

Eq PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

(==) :: PixelSize -> PixelSize -> Bool

(/=) :: PixelSize -> PixelSize -> Bool

Ord PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

compare :: PixelSize -> PixelSize -> Ordering

(<) :: PixelSize -> PixelSize -> Bool

(<=) :: PixelSize -> PixelSize -> Bool

(>) :: PixelSize -> PixelSize -> Bool

(>=) :: PixelSize -> PixelSize -> Bool

max :: PixelSize -> PixelSize -> PixelSize

min :: PixelSize -> PixelSize -> PixelSize

ToCss PixelSize Source # 
Instance details

Defined in Text.Internal.CssCommon

Methods

toCss :: PixelSize -> Builder Source #

Internal

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

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