summaryrefslogtreecommitdiffstats
path: root/src/MdBlocks/Repository.hs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-09-30 03:21:31 +0200
committertv <tv@krebsco.de>2026-09-30 03:21:31 +0200
commitd5633e2395368410e1dfa22e5a046e655671a981 (patch)
tree790ab6035b4c77829c3070b6d04555181226c0a1 /src/MdBlocks/Repository.hs
init
Diffstat (limited to 'src/MdBlocks/Repository.hs')
-rw-r--r--src/MdBlocks/Repository.hs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/MdBlocks/Repository.hs b/src/MdBlocks/Repository.hs
new file mode 100644
index 0000000..9bacaf2
--- /dev/null
+++ b/src/MdBlocks/Repository.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module MdBlocks.Repository where
+
+import Data.Text.IO as T
+import System.Directory
+
+import MdBlocks.Parser
+import MdBlocks.Types
+
+loadBlocks :: FilePath -> IO [Block]
+loadBlocks fp = do
+ txt <- T.readFile fp
+ pure (parseFile fp txt)
+
+findMarkdownFiles :: FilePath -> IO [FilePath]
+findMarkdownFiles root = do
+ xs <- listDirectory root
+ pure
+ [ root <> "/" <> x
+ | x <- xs
+ , takeExtension x == ".md"
+ ]
+ where
+ takeExtension =
+ reverse . takeWhile (/='.') . reverse