summaryrefslogtreecommitdiffstats
path: root/src/Zettel/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Zettel/Types.hs')
-rw-r--r--src/Zettel/Types.hs35
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}