@@ -7,11 +7,6 @@ import Control.Monad
7import System.FilePath
7import System.FilePath
8import System.Environment (getArgs)
8import System.Environment (getArgs)
9import Text.Pandoc.Shared (normalize)
9import Text.Pandoc.Shared (normalize)
10−import System.Directory (getModificationTime)
11−import System.IO.Error (isDoesNotExistError)
12−import System.Time (ClockTime(..))
13−import Data.Maybe (catMaybes)
14−import qualified Control.Exception as E
17 rmContents <- liftM toString $ B.readFile "README"
12 rmContents <- liftM toString $ B.readFile "README"
@@ -29,12 +24,9 @@ main = do
29makeManPage :: Bool -> FilePath -> Meta -> [Block] -> IO ()
24makeManPage :: Bool -> FilePath -> Meta -> [Block] -> IO ()
30makeManPage verbose page meta blocks = do
25makeManPage verbose page meta blocks = do
31 let templ = page <.> "template"
26 let templ = page <.> "template"
32− modDeps <- modifiedDependencies page ["README", templ]
33− unless (null modDeps) $ do
34− manTemplate <- liftM toString $ B.readFile templ
27+ manTemplate <- liftM toString $ B.readFile templ
35− writeManPage page manTemplate (Pandoc meta blocks)
28+ writeManPage page manTemplate (Pandoc meta blocks)
37− putStrLn $ "Created " ++ page
29+ when verbose $ putStrLn $ "Created " ++ page
39writeManPage :: FilePath -> String -> Pandoc -> IO ()
31writeManPage :: FilePath -> String -> Pandoc -> IO ()
40writeManPage page templ doc = do
32writeManPage page templ doc = do
@@ -45,17 +37,6 @@ writeManPage page templ doc = do
45 bottomUp capitalizeHeaders doc
37 bottomUp capitalizeHeaders doc
46 B.writeFile page $ fromString manPage
38 B.writeFile page $ fromString manPage
48−-- | Returns a list of 'dependencies' that have been modified after 'file'.
49−modifiedDependencies :: FilePath -> [FilePath] -> IO [FilePath]
50−modifiedDependencies file dependencies = do
51− fileModTime <- E.catch (getModificationTime file) $
52− \e -> if isDoesNotExistError e
53− then return (TOD 0 0) -- the minimum ClockTime
55− depModTimes <- mapM getModificationTime dependencies
56− let modified = zipWith (\dep time -> if time > fileModTime then Just dep else Nothing) dependencies depModTimes
57− return $ catMaybes modified
59removeLinks :: Inline -> [Inline]
40removeLinks :: Inline -> [Inline]
60removeLinks (Link l _) = l
41removeLinks (Link l _) = l
61removeLinks x = [x]
42removeLinks x = [x]