2 title: 📖 Blog script with Haskell
7 import Prelude hiding (readFile, writeFile, concat)
8 import System.Directory
10 import Data.Text.Lazy hiding (filter, map, reverse)
11 import Data.Text.Lazy.IO
13 import Text.Blaze.Html.Renderer.Text
16 files <- getDirectoryContents "."
17 let mds = filter ((== ".md") . takeExtension) files
18 content <- mapM (readFile) mds
19 let htmls = reverse $ map (renderHtml . markdown def) content
21 header <- readFile "header.html"
22 footer <- readFile "footer.html"
24 writeFile "index.html" $ concat $ header:htmls ++ [footer]
27 I'd eventually like to serve this from some Haskell webserver rather than manually generating static pages.
28 Maybe also use [this?](https://github.com/mrkkrp/ghc-syntax-highlighter)