module HAppS.Data.Atom
(
Entry(..)
,Feed(..)
,Author(..)
,Contributor(..)
,Category(..)
,Id(..)
,Title(..)
,Published(..)
,Updated(..)
,Summary(..)
,Content(..)
,Word(..)
,Email(..)
)
where
import HAppS.Data
#ifndef __HADDOCK__
$( deriveAll [''Ord,''Eq,''Read,''Show,''Default]
[d|
data Feed = Feed [Entry]
data Entry =
Entry
[Author]
[Category]
(Maybe Content )
[Contributor]
Id
(Maybe Published)
(Maybe Summary)
Title
Updated
type PersonConstruct = (Name, Maybe Uri, Maybe Email)
data Author = Author PersonConstruct
data Contributor = Contributor PersonConstruct
newtype Name = Name Text
data Category = Category Term (Maybe Scheme) (Maybe Label)
newtype Term = Term String
newtype Scheme = Scheme String
newtype Label = Label String
newtype Id = Id Integer
type DateConstruct = Integer
data Title = Title TextConstruct
data Subtitle = Subtitle TextConstruct
newtype Summary = Summary TextConstruct
newtype Content = Content TextConstruct
newtype Uri = Uri String
newtype Email = Email String
newtype Updated = Updated DateConstruct
newtype Published = Published DateConstruct
type XHTML = String
type Text = String
type TextConstruct = Text
newtype Word = Word String
|] )
#define V(x) instance Version x
V(Uri);V(Email);V(Updated);V(Published);V(Title);V(Subtitle)
V(Summary);V(Content);V(Author);V(Contributor);V(Name);V(Category)
V(Term);V(Scheme);V(Label);V(Id)
$(deriveSerializeFor [''Uri, ''Email, ''Updated, ''Published
,''Title, ''Subtitle, ''Summary, ''Content
,''Author, ''Contributor, ''Name, ''Category
,''Term, ''Scheme, ''Label, ''Id])
#endif