summaryrefslogtreecommitdiffstats
path: root/src/Zettel/Types.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-28 03:52:10 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-28 03:52:10 +0100
commit02d36d9c5c55d49bdfedf29fb9aff9202f19cf53 (patch)
tree2f8cc931b77aaefaf71eec3cc15f0015496a2dd2 /src/Zettel/Types.hs
parent5681d073ee1ded65bcd944c6abc2c7082cff2b31 (diff)
downloadzk-visual-02d36d9c5c55d49bdfedf29fb9aff9202f19cf53.tar.gz
zk-visual-02d36d9c5c55d49bdfedf29fb9aff9202f19cf53.zip
Add support for bibliography notes export
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