@@ -0,0 +1,44 @@
1+{-# LANGUAGE CPP #-}
2+{-
3+Copyright (C) 2006-8 John MacFarlane <jgm@berkeley.edu>
4+
5+This program is free software; you can redistribute it and/or modify
6+it under the terms of the GNU General Public License as published by
7+the Free Software Foundation; either version 2 of the License, or
8+(at your option) any later version.
9+
10+This program is distributed in the hope that it will be useful,
11+but WITHOUT ANY WARRANTY; without even the implied warranty of
12+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+GNU General Public License for more details.
14+
15+You should have received a copy of the GNU General Public License
16+along with this program; if not, write to the Free Software
17+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+-}
19+
20+{- |
21+ Module : Main
22+ Copyright : Copyright (C) 2006-8 John MacFarlane
23+ License : GNU GPL, version 2 or above
24+
25+ Maintainer : John MacFarlane <jgm@berkeley@edu>
26+ Stability : alpha
27+ Portability : portable
28+
29+Wrapper around pandoc that emulates Markdown.pl as closely as possible.
30+-}
31+module Main where
32+import System.Process
33+import System.Environment ( getArgs )
34+import Prelude hiding ( putStr, putStrLn, writeFile, readFile, getContents )
35+import System.IO.UTF8
36+import Control.Monad (forM_)
37+
38+main :: IO ()
39+main = do
40+ files <- getArgs
41+ let runPandoc inp = readProcess "pandoc" ["--from", "markdown", "--to", "html", "--strict"] inp >>= putStrLn
42+ if null files
43+ then getContents >>= runPandoc
44+ else forM_ files $ \f -> readFile f >>= runPandoc