summaryrefslogtreecommitdiffstats
path: root/src/Zettel/Parse.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-10 17:34:15 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-10 17:34:15 +0100
commit1c867914453a817c46297eed2734dfc9a62ec869 (patch)
treee68d66ea429979ed21feaf173e5e331ec0880da1 /src/Zettel/Parse.hs
parentfb04af3bf81711f4844de2901dbc1113ba060e81 (diff)
downloadzk-visual-1c867914453a817c46297eed2734dfc9a62ec869.tar.gz
zk-visual-1c867914453a817c46297eed2734dfc9a62ec869.zip
Add Zettel as source of truth
Diffstat (limited to 'src/Zettel/Parse.hs')
-rw-r--r--src/Zettel/Parse.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Zettel/Parse.hs b/src/Zettel/Parse.hs
index d6d8aa9..cf2604a 100644
--- a/src/Zettel/Parse.hs
+++ b/src/Zettel/Parse.hs
@@ -10,6 +10,7 @@ import Text.Pandoc.Definition (Block (..), Inline (..), Meta (..), MetaValue (..
import Text.Pandoc.Readers (readOrg)
import Text.Pandoc.Shared (stringify)
import Text.Pandoc.Walk (query, walk)
+import Zettel.Common
import Zettel.Types
decode :: ByteString -> Text
@@ -84,7 +85,8 @@ zettelMetaFromMeta t m =
(lookupString "date" m)
(lookupString "modified" m)
t
- []
+ cempty
+ (Just "Yann Herklotz")
pandocFromChunk :: Chunk -> Pandoc
pandocFromChunk c =
@@ -99,14 +101,11 @@ pandocFromChunk c =
zettelFromPandoc :: Pandoc -> (ZettelId, Zettel)
zettelFromPandoc p@(Pandoc attr _) =
- (ZettelId ident, Zettel title (zettelMetaFromMeta tags attr) p)
+ (ZettelId ident, Zettel title (zettelMetaFromMeta tags attr) p cempty cempty)
where
ident = fromMaybe "" $ lookupString "custom_id" attr
(title, tags) = maybe ([], []) separateTitleTags $ lookupInlines "title" attr
-initNode :: Zettel -> ZettelNode
-initNode zettel = ZettelNode zettel cempty cempty
-
updatePandocAttr :: Pandoc -> Pandoc
updatePandocAttr (Pandoc attr b) =
Pandoc
@@ -137,4 +136,4 @@ parseZettelKasten fl = do
orgFiles <- mapM (runIOorExplode . readOrg def . decode) fs
let splitChunks = map (splitIntoChunks "%i.md" False Nothing 15) orgFiles
let pandocList = map (updatePandocAttr . pandocFromChunk) $ concatMap chunkedChunks splitChunks
- return . ZettelGraph . fromList $ map (second initNode . zettelFromPandoc) pandocList
+ return . refreshPandocMeta . ZettelGraph . fromList $ map zettelFromPandoc pandocList