diff --git a/filter.hs b/filter.hs index 5116c38..e8ea307 100755 --- a/filter.hs +++ b/filter.hs @@ -5,7 +5,9 @@ import qualified Data.Text.IO as TIO import qualified Data.Text as T file2Block :: FilePath -> IO [Block] - +file2Block f = do + contents <- TIO.readFile f + return [Plain [Str contents]] doInclude :: Block -> IO Block doInclude cb@(Div (id, classes, namevals) contents) = diff --git a/output.html b/output.html index 9487283..d9560f9 100644 --- a/output.html +++ b/output.html @@ -1,6 +1,28 @@

Here’s the pandoc README:

+
Foo:: Div -> Div
+#!/usr/bin/env runhaskell +-- filter.hs +import Text.Pandoc.JSON +import qualified Data.Text.IO as TIO +import qualified Data.Text as T +file2Block :: FilePath -> IO [Block] +file2Block f = do + contents <- TIO.readFile f + return [Plain [Str contents]] + +doInclude :: Block -> IO Block +doInclude cb@(Div (id, classes, namevals) contents) = + case lookup (T.pack "include") namevals of + Just f -> Div (id, classes, namevals) <$> + file2Block (T.unpack f) + Nothing -> return cb +doInclude x = return x + +main :: IO () +main = toJSONFilter doInclude

test thm1