diff options
Diffstat (limited to 'src/Zettel/Types.hs')
-rw-r--r-- | src/Zettel/Types.hs | 35 |
1 files changed, 13 insertions, 22 deletions
diff --git a/src/Zettel/Types.hs b/src/Zettel/Types.hs index 26dee7f..65d738e 100644 --- a/src/Zettel/Types.hs +++ b/src/Zettel/Types.hs @@ -10,7 +10,6 @@ module Zettel.Types ZettelTag (..), ZettelMetadata (..), Zettel (..), - ZettelNode (..), ZettelGraph (..), ) where @@ -62,15 +61,17 @@ data ZettelMetadata = ZettelMetadata -- | Optional tags. zettelTags :: [ZettelTag], -- | Optional Category - zettelCategory :: [ZettelCat] + zettelCats :: [ZettelCat], + -- | Author + zettelAuthor :: Maybe Text } deriving (Show, Eq) instance Combine ZettelMetadata where - cappend (ZettelMetadata c m t a) (ZettelMetadata c' m' t' a') = - ZettelMetadata (cappend c c') (cappend m m') (cappend t t') (cappend a a') + cappend (ZettelMetadata c m t a b) (ZettelMetadata c' m' t' a' b') = + ZettelMetadata (cappend c c') (cappend m m') (cappend t t') (cappend a a') (cappend b b') - cempty = ZettelMetadata cempty cempty cempty cempty + cempty = ZettelMetadata cempty cempty cempty cempty cempty data Zettel = Zettel { -- | The title of the Zettel, which should also be present in the body, @@ -80,27 +81,17 @@ data Zettel = Zettel zettelMetadata :: ZettelMetadata, -- | The text body of the Zettel, which is stored as a Pandoc document to -- make it easy to export to other documents. - zettelBody :: Pandoc + zettelBody :: Pandoc, + zettelNext :: [ZettelId], + zettelPrev :: [ZettelId] } deriving (Show, Eq) instance Combine Zettel where - cappend (Zettel b c d) (Zettel b' c' d') = - Zettel (cappend b b') (cappend c c') (cappend d d') + cappend (Zettel b c d e f) (Zettel b' c' d' e' f') = + Zettel (cappend b b') (cappend c c') (cappend d d') (cappend e e') (cappend f f') - cempty = Zettel cempty cempty cempty + cempty = Zettel cempty cempty cempty cempty cempty -data ZettelNode = ZettelNode - { zettelNodeZettel :: Zettel, - zettelNodeNext :: [ZettelId], - zettelNodePrev :: [ZettelId] - } +newtype ZettelGraph = ZettelGraph {unZettelGraph :: Map ZettelId Zettel} deriving (Show, Eq) - -instance Combine ZettelNode where - cappend (ZettelNode b c d) (ZettelNode b' c' d') = - ZettelNode (cappend b b') (cappend c c') (cappend d d') - - cempty = ZettelNode cempty cempty cempty - -newtype ZettelGraph = ZettelGraph {unZettelGraph :: Map ZettelId ZettelNode} |