)
where
-import Data.Generics
import Network.URI
import Rakka.Page
data Element
= Block !BlockElement
| Inline !InlineElement
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
type Attribute = (String, String)
| Div ![Attribute] ![Element]
| EmptyBlock
| BlockCmd !BlockCommand
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
data InlineElement
| LineBreak ![Attribute]
| Span ![Attribute] ![InlineElement]
| Image {
- imgSource :: !PageName
+ imgSource :: !(Either URI PageName)
, imgAlt :: !(Maybe String)
}
| Anchor ![Attribute] ![InlineElement]
+ | Input ![Attribute]
| EmptyInline
| InlineCmd !InlineCommand
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
data ListType
= Bullet
| Numbered
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
type ListItem = [Element]
defTerm :: ![InlineElement]
, defDesc :: ![InlineElement]
}
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
data CommandType
, bCmdAttributes :: ![Attribute]
, bCmdContents :: ![BlockElement]
}
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)
data InlineCommand
, iCmdAttributes :: ![Attribute]
, iCmdContents :: ![InlineElement]
}
- deriving (Eq, Show, Typeable, Data)
+ deriving (Eq, Show)