| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Text.Lucius.Ordered
Description
This module is the twin brother of module Text.Lucius. The difference is that these parsers preserv the given order of attributes and mixin blocks.
let bams = [Text.Ordered.cassiusMixin|
bam1:bam2
^{bins}
bam3:bam4
|] :: Mixin
bins = [Text.Ordered.cassiusMixin|
bin1:bin2
|] :: Mixin
in renderCss ([lucius|foo{bar1:bar2;^{bams};bar3:bar4;}|] undefined)
"foo{bar1:bar2;bam1:bam2;bin1:bin2;bam3:bam4;bar3:bar4}"Synopsis
- lucius :: QuasiQuoter
- luciusFile :: FilePath -> Q Exp
- luciusFileDebug :: FilePath -> Q Exp
- luciusFileReload :: FilePath -> Q Exp
- luciusMixin :: QuasiQuoter
- data Mixin
- luciusRT :: Text -> [(Text, Text)] -> Either String Text
- luciusRT' :: Text -> Either String ([(Text, Text)] -> Either String [TopLevel 'Resolved])
- luciusRTMinified :: Text -> [(Text, Text)] -> Either String Text
- luciusRTMixin :: Text -> Bool -> [(Text, RTValue)] -> Either String Text
- data RTValue
- data Css
- type CssUrl url = (url -> [(Text, Text)] -> Text) -> Css
- class ToCss a where
- renderCss :: Css -> Text
- renderCssUrl :: (url -> [(Text, Text)] -> Text) -> CssUrl url -> Text
- data Color = Color Word8 Word8 Word8
- colorRed :: Color
- colorBlack :: Color
- mkSize :: String -> ExpQ
- data AbsoluteUnit
- = Centimeter
- | Inch
- | Millimeter
- | Pica
- | Point
- data AbsoluteSize = AbsoluteSize {}
- absoluteSize :: AbsoluteUnit -> Rational -> AbsoluteSize
- data EmSize = EmSize Rational
- data ExSize = ExSize Rational
- data PercentageSize = PercentageSize {}
- percentageSize :: Rational -> PercentageSize
- data PixelSize = PixelSize Rational
- parseTopLevels :: Order -> Parser [TopLevel 'Unresolved]
- luciusUsedIdentifiers :: Order -> String -> [(Deref, VarType)]
Parsing
lucius :: QuasiQuoter #
>>>renderCss ([lucius|foo{bar:baz}|] undefined)"foo{bar:baz}"
Since: 2.0.30
luciusFile :: FilePath -> Q Exp #
Since: 2.0.30
luciusFileDebug :: FilePath -> Q Exp #
Since: 2.0.30
luciusFileReload :: FilePath -> Q Exp #
Since: 2.0.30
Mixins
Since: 2.0.30
Runtime
luciusRT' :: Text -> Either String ([(Text, Text)] -> Either String [TopLevel 'Resolved]) #
Since: 2.0.30
Mixin
Since: 2.0.30
Datatypes
Type class
Instances
| ToCss AbsoluteSize # | |
Defined in Text.Internal.CssCommon Methods toCss :: AbsoluteSize -> Builder # | |
| ToCss Color # | |
Defined in Text.Internal.CssCommon | |
| ToCss EmSize # | |
Defined in Text.Internal.CssCommon | |
| ToCss ExSize # | |
Defined in Text.Internal.CssCommon | |
| ToCss PercentageSize # | |
Defined in Text.Internal.CssCommon Methods toCss :: PercentageSize -> Builder # | |
| ToCss PixelSize # | |
Defined in Text.Internal.CssCommon | |
| ToCss Text # | |
Defined in Text.Internal.Css | |
| ToCss Text # | |
Defined in Text.Internal.Css | |
| ToCss [Char] # | |
Defined in Text.Internal.Css | |
Rendering
ToCss instances
Color
colorBlack :: Color #
Size
data AbsoluteUnit #
Absolute size units.
Constructors
| Centimeter | |
| Inch | |
| Millimeter | |
| Pica | |
| Point |
Instances
| Show AbsoluteUnit # | |
Defined in Text.Internal.CssCommon Methods showsPrec :: Int -> AbsoluteUnit -> ShowS # show :: AbsoluteUnit -> String # showList :: [AbsoluteUnit] -> ShowS # | |
| Eq AbsoluteUnit # | |
Defined in Text.Internal.CssCommon | |
data AbsoluteSize #
Not intended for direct use, see mkSize.
Constructors
| AbsoluteSize | |
Fields
| |
Instances
absoluteSize :: AbsoluteUnit -> Rational -> AbsoluteSize #
Constructs AbsoluteSize. Not intended for direct use, see mkSize.
data PercentageSize #
Not intended for direct use, see mkSize.
Constructors
| PercentageSize | |
Fields
| |
Instances
percentageSize :: Rational -> PercentageSize #
Constructs PercentageSize. Not intended for direct use, see mkSize.
Instances
| Num PixelSize # | |
Defined in Text.Internal.CssCommon | |
| Fractional PixelSize # | |
| Show PixelSize # | |
| Eq PixelSize # | |
| Ord PixelSize # | |
| ToCss PixelSize # | |
Defined in Text.Internal.CssCommon | |
Internal
parseTopLevels :: Order -> Parser [TopLevel 'Unresolved] #
luciusUsedIdentifiers :: Order -> String -> [(Deref, VarType)] #
Determine which identifiers are used by the given template, useful for creating systems like yesod devel.