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.hs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/Zettel/Types.hs b/src/Zettel/Types.hs
index 1e8f750..791bc9c 100644
--- a/src/Zettel/Types.hs
+++ b/src/Zettel/Types.hs
@@ -14,6 +14,7 @@ module Zettel.Types
ZettelMetadata (..),
Zettel (..),
ZettelGraph (..),
+ BibId (..),
)
where
@@ -49,6 +50,10 @@ newtype ZettelId = ZettelId {unZettelId :: Text}
deriving (Show, Eq, Ord, IsString, ToString, Semigroup, Monoid, ToMetaValue)
deriving (Combine) via (UseCombine ZettelId)
+newtype BibId = BibId {unBibId :: Text}
+ deriving (Show, Eq, Ord, IsString, ToString, Semigroup, Monoid, ToMetaValue)
+ deriving (Combine) via (UseCombine BibId)
+
newtype ZettelTag = ZettelTag {unZettelTag :: Text}
deriving (Show, Eq, Ord, IsString, ToString, Semigroup, Monoid, ToMetaValue)
deriving (Combine) via (UseCombine ZettelId)
@@ -140,7 +145,7 @@ instance Walkable [Inline] Zettel where
data ZettelGraph = ZettelGraph
{ unZettelGraph :: Map ZettelId Zettel,
- zettelGraphBib :: Maybe Pandoc
+ zettelGraphBib :: Map BibId Zettel
}
deriving (Show, Eq)
@@ -150,8 +155,8 @@ walkMZettelGraph ::
ZettelGraph ->
m ZettelGraph
walkMZettelGraph f b = do
- res <- traverse (walkM f) (unZettelGraph b)
- newBib <- traverse (walkM f) (zettelGraphBib b)
+ res <- walkM f (unZettelGraph b)
+ newBib <- walkM f (zettelGraphBib b)
return $ ZettelGraph res newBib
queryZettelGraph ::
@@ -159,7 +164,7 @@ queryZettelGraph ::
(a2 -> a1) ->
ZettelGraph ->
a1
-queryZettelGraph f g = query f (unZettelGraph g) <> maybe mempty (query f) (zettelGraphBib g)
+queryZettelGraph f g = query f (unZettelGraph g) <> query f (zettelGraphBib g)
instance Walkable Block ZettelGraph where
walkM = walkMZettelGraph