From 02d36d9c5c55d49bdfedf29fb9aff9202f19cf53 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 28 May 2023 03:52:10 +0100 Subject: Add support for bibliography notes export --- src/Zettel/Types.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/Zettel/Types.hs') 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 -- cgit