shakespeare-2.1.0: A toolkit for making compile-time interpolated templates
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.Lucius

Synopsis

Parsing

lucius :: QuasiQuoter Source #

>>> renderCss ([lucius|foo{bar:baz}|] undefined)
"foo{bar:baz}"

luciusFile :: FilePath -> Q Exp Source #

luciusFileDebug :: FilePath -> Q Exp Source #

luciusFileReload :: FilePath -> Q Exp Source #

Mixins

luciusMixin :: QuasiQuoter Source #

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

Runtime

luciusRT :: Text -> [(Text, Text)] -> Either String Text Source #

luciusRT' :: Text -> Either String ([(Text, Text)] -> Either String [TopLevel 'Resolved]) Source #

luciusRTMinified :: Text -> [(Text, Text)] -> Either String Text Source #

Same as luciusRT, but output has no added whitespace.

Since 1.0.3

Mixin

luciusRTMixin Source #

Arguments

:: Text

template

-> Bool

minify?

-> [(Text, RTValue)]

scope

-> Either String Text 

Runtime Lucius with mixin support.

Since 1.0.6

data RTValue Source #

Constructors

RTVRaw Text 
RTVMixin Mixin 

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 #

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

parseTopLevels :: Order -> Parser [TopLevel 'Unresolved] Source #

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

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