Safe Haskell | None |
---|---|
Language | Haskell2010 |
Stylist.Parse
Description
Parses a CSS stylesheet
See StyleSheet
& parseForURL
.
Synopsis
- parse :: StyleSheet s => s -> Text -> s
- parse' :: StyleSheet t => t -> [Token] -> t
- parseForURL :: StyleSheet s => s -> URI -> Text -> s
- data TrivialStyleSheet = TrivialStyleSheet [StyleRule]
- class StyleSheet s where
- setPriority :: Int -> s -> s
- setPriorities :: [Int] -> s -> s
- addRule :: s -> StyleRule -> s
- addAtRule :: s -> Text -> [Token] -> (s, [Token])
- skipAtRule :: [Token] -> [Token]
- scanAtRule :: Parser [Token]
- scanBlock :: Parser [Token]
- skipSpace :: [Token] -> [Token]
- data StyleRule = StyleRule Selector [(Text, [Token])] Text
- parseProperties :: Parser ([(Text, [Token])], Text)
- parseProperties' :: Parser [(Text, [Token])]
- scanValue :: Parser [Token]
Documentation
parse :: StyleSheet s => s -> Text -> s Source #
Parse a CSS stylesheet
parse' :: StyleSheet t => t -> [Token] -> t Source #
Parse a tokenized (via `css-syntax`) CSS stylesheet
parseForURL :: StyleSheet s => s -> URI -> Text -> s Source #
Parse a CSS stylesheet, resolving all URLs to absolute form.
data TrivialStyleSheet Source #
Gathers StyleRules into a list, mainly for testing.
Constructors
TrivialStyleSheet [StyleRule] |
Instances
Eq TrivialStyleSheet Source # | |
Defined in Stylist.Parse Methods (==) :: TrivialStyleSheet -> TrivialStyleSheet -> Bool (/=) :: TrivialStyleSheet -> TrivialStyleSheet -> Bool | |
Show TrivialStyleSheet Source # | |
Defined in Stylist.Parse Methods showsPrec :: Int -> TrivialStyleSheet -> ShowS show :: TrivialStyleSheet -> String showList :: [TrivialStyleSheet] -> ShowS | |
StyleSheet TrivialStyleSheet Source # | |
Defined in Stylist.Parse Methods setPriority :: Int -> TrivialStyleSheet -> TrivialStyleSheet Source # setPriorities :: [Int] -> TrivialStyleSheet -> TrivialStyleSheet Source # addRule :: TrivialStyleSheet -> StyleRule -> TrivialStyleSheet Source # addAtRule :: TrivialStyleSheet -> Text -> [Token] -> (TrivialStyleSheet, [Token]) Source # |
class StyleSheet s where Source #
Describes how to store, and to some extent parse, CSS stylesheets.
These methods are used to construct the results from parse
, etc.
Minimal complete definition
Methods
setPriority :: Int -> s -> s Source #
Sets the stylesheet priority (useragent vs user vs author), optional.
Favor setPriorities
for richer API.
setPriorities :: [Int] -> s -> s Source #
Sets the multi-layered stylesheet priority (for the sake of @layer rules), optional.
addRule :: s -> StyleRule -> s Source #
Stores a parsed selector+properties rule.
addAtRule :: s -> Text -> [Token] -> (s, [Token]) Source #
Stores and parses an identified at-rule.
Instances
StyleSheet () Source # | In case an indirect caller doesn't actually want to use Haskell Stylist. |
StyleSheet TrivialStyleSheet Source # | |
Defined in Stylist.Parse Methods setPriority :: Int -> TrivialStyleSheet -> TrivialStyleSheet Source # setPriorities :: [Int] -> TrivialStyleSheet -> TrivialStyleSheet Source # addRule :: TrivialStyleSheet -> StyleRule -> TrivialStyleSheet Source # addAtRule :: TrivialStyleSheet -> Text -> [Token] -> (TrivialStyleSheet, [Token]) Source # |
skipAtRule :: [Token] -> [Token] Source #
Returns tokens after an at-rule, as per scanAtRule
.
scanAtRule :: Parser [Token] Source #
Returns tokens before & after an at-rule value, terminated after a curly-bracketed block or a semicolon.
The properties to set for elements matching the given selector.
parseProperties :: Parser ([(Text, [Token])], Text) Source #
Parse "{key: value; ...}" property values, with a psuedoelement.
parseProperties' :: Parser [(Text, [Token])] Source #
Parse "key: value;"... property values, as per the HTML "style" property.