)
where
+import Data.Generics
+import Network.URI
import Rakka.Page
| Preformatted ![InlineElement]
| Paragraph ![InlineElement]
| Div ![Attribute] ![BlockElement]
+ | EmptyBlock
| BlockCmd !BlockCommand
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
data InlineElement
, linkFragment :: !(Maybe String)
, linkText :: !(Maybe String)
}
+ | ExternalLink {
+ extLinkURI :: !URI
+ , extLinkText :: !(Maybe String)
+ }
| LineBreak ![Attribute]
| Span ![Attribute] ![InlineElement]
+ | Image ![Attribute]
+ | Anchor ![Attribute] ![InlineElement]
+ | EmptyInline
| InlineCmd !InlineCommand
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
data ListElement
listType :: !ListType
, listItems :: ![ListItem]
}
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
data ListType
= Bullet
| Numbered
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
type ListItem = [Either ListElement InlineElement]
defTerm :: ![InlineElement]
, defDesc :: ![InlineElement]
}
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
data CommandType
= InlineCommandType
| BlockCommandType
+ deriving (Eq, Show)
type Attribute = (String, String)
, bCmdAttributes :: ![Attribute]
, bCmdContents :: ![BlockElement]
}
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)
data InlineCommand
, iCmdAttributes :: ![Attribute]
, iCmdContents :: ![InlineElement]
}
- deriving (Eq, Show)
+ deriving (Eq, Show, Typeable, Data)