From 0b55c09abbac9ce56bc7ca1bc03e9ca3dd74d6a4 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 22 Jun 2004 14:54:05 +0000 Subject: [PATCH] make gfdoc --- src/Makefile | 2 ++ src/tools/GFDoc.hs | 19 +++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Makefile b/src/Makefile index 08917e4e8..640d90500 100644 --- a/src/Makefile +++ b/src/Makefile @@ -133,3 +133,5 @@ install: install-gf2 $(INSTALL) -d $(libdir)/GF-$(PACKAGE_VERSION) $(INSTALL) jgf2 $(bindir) $(INSTALL) java/gf-java.jar $(libdir)/GF-$(PACKAGE_VERSION) +gfdoc: + cd util ; $(GHMAKE) GFDoc.hs -o gfdoc ; cd .. diff --git a/src/tools/GFDoc.hs b/src/tools/GFDoc.hs index 0f5143f57..883349748 100644 --- a/src/tools/GFDoc.hs +++ b/src/tools/GFDoc.hs @@ -13,22 +13,21 @@ main :: IO () main = do xx <- getArgs let - (typ,format,name) = case xx of - "+latex" : x: [] -> (0,doc2latex,x) - "+htmls" : x: [] -> (2,doc2html,x) - x:[] -> (1,doc2html,x) - _ -> (1,doc2html, "unknown.txt") --- + (typ,format,names) = case xx of + "-latex" : xs -> (0,doc2latex,xs) + "-htmls" : xs -> (2,doc2html,xs) + xs -> (1,doc2html,xs) if null xx then do putStrLn welcome putStrLn help - else do + else flip mapM_ names (\name -> do ss <- readFile name let outfile = fileFormat typ name - writeFile outfile $ format $ pDoc $ ss + writeFile outfile $ format $ pDoc $ ss) if typ == 2 then do - system $ "htmls " ++ (fileFormat typ name) + mapM (\name -> system $ "htmls " ++ (fileFormat typ name)) names return () else return () @@ -40,10 +39,10 @@ welcome = unlines [ help = unlines $ [ "", - "Usage: gfdoc (+latex|+htmls) file", + "Usage: gfdoc (-latex|-htmls) +", "", "The program operates with lines in GF code, treating them into LaTeX", - "(flag +latex), to a set of HTML documents (flag +htmls), or to one", + "(flag -latex), to a set of HTML documents (flag -htmls), or to one", "HTML file (by default). The output is written in a file", "whose name is formed from the input file name by replacing its suffix", "with html or tex; in case of set of HTML files, the names are prefixed",