[add web page PAF01143@nifty.ne.jp**20081208031025] { hunk ./memo.ja_JP.utf8 191 +2008.12.8 Mon. +エラーが起きたときには、-o ファイルをアップデートしないようにしたい。 + adddir ./web_page addfile ./web_page/Hakefile hunk ./web_page/Hakefile 1 +import Development.Hake +import Development.Hake.FunSetIO +import System.Cmd (rawSystem) +import Text.RegexPR (getbrsRegexPR) + +getV :: String -> String -> String +getV k = (!! 1) . getbrsRegexPR ("(?i)^" ++ k ++ "\\s*:\\s*(\\S+)\\s*$") + +target = "index.xhtml" +projName = "ehaskell" +otherFiles = [ "version_file" ] + +main = do + my_home_version <- fmap (getV "version") $ readFile "../ehaskell.cabal" + let ehsTgz = "../dist/ehaskell-" ++ my_home_version ++ ".tar.gz" + hake $ [ + + dflt [ target ] + , + rule "" ".ehs" $ \t (s:_) -> rawSystemE [ "ehs", s, "-o", t ] + , + file [ "upload" ] [ target, ehsTgz ] $ \_ ss -> do + newers <- getNewers "upload_done" ss + mapM (\s -> putStrLn ("uploading " ++ s) >> rawSystem "yjftp" [ "put", s, + "ftp37.nifty.com/homepage/second/projects/" ++ projName ++ "/", + "hc751476" ]) newers + rawSystemE [ "touch", "upload_done" ] + + ] `addDeps` [ + + (target, otherFiles) + + ] addfile ./web_page/index.xhtml.ehs hunk ./web_page/index.xhtml.ehs 1 + +<%% import System.Time (getClockTime) %%> +<%% import System.Directory (getModificationTime) %%> +<%% import Text.RegexPR %%> +<%% getV k = (!! 1) . getbrsRegexPR ("(?i)" ++ k ++ "\\s*:\\s*(.+)") %%> +<% ver_cont <- readFile "version_file" %> +<% cabal_cont <- readFile "../ehaskell.cabal" %> +<% let { hackage_version = getV "hackage_version" ver_cont } %> +<% let { my_home_version = getV "version" cabal_cont } %> + + + ehaskell + + +

ehaskell

+

updated at <%==$ getClockTime %>

+

Usage

+

ehs souce-file [ -o output-file ] [ var=val ]

+

How to get

+

+ hackage

+

darcs get http://code.haskell.org/ehaskell +

+

ehaskell <%= my_home_version %> + updated at <%==$ getModificationTime $ "../dist/ehaskell-" ++ my_home_version ++ ".tar.gz" %>

+ + }