diff options
Diffstat (limited to 'src/MdBlocks/Repository.hs')
| -rw-r--r-- | src/MdBlocks/Repository.hs | 26 |
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 |
