]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Wiki.hs
wrote more...
[Rakka.git] / Rakka / Wiki.hs
1 module Rakka.Wiki
2     ( WikiPage
3     , WikiElement(..)
4     , BlockElement(..)
5     , InlineElement(..)
6     )
7     where
8
9 import           Rakka.Page
10
11
12 type WikiPage = [WikiElement]
13
14
15 data WikiElement
16     = Block !BlockElement
17     | Inline !InlineElement
18     deriving (Eq, Show)
19
20
21 data BlockElement
22     = Heading {
23         headingLevel :: !Int
24       , headingText  :: !String
25       }
26     | EmptyLine
27     deriving (Eq, Show)
28
29
30 data InlineElement
31     = Text !String
32     | PageLink {
33         linkPage     :: !(Maybe PageName)
34       , linkFragment :: !(Maybe String)
35       , linkText     :: !(Maybe String)
36       }
37     deriving (Eq, Show)