content: module PfeHtmlCmds where
  import Prelude hiding (putStr,putStrLn,writeFile)
  
  import HsName(ModuleName(..))
  import PFE_HTML
  import PfeParse(moduleArgs,just)
  
  import AbstractIO
  import PrettyPrint(pp)
  --import CmdLineParser
  
  pfeHtmlCmds =
       [--("html"     , moduleArgs showHtml),
        ("htmlfiles", (moduleArgs htmlfiles,"generate HTML files for modules")),
        ("webpages",  (moduleArgs webpages, "generate web pages for modules"))]
  
  --showHtml = toHtml pfeURL (const putStrLn) . Just
  
  htmlfiles ms = toHtmlFiles htmlDir pfeURL (const id) (just ms)
  webpages ms = toHtmlFiles wwwDir wwwURL addHead (just ms)
    where
      addHead m body = unlines head++body
         where
           head = [doctype,"<html><head>", title (pp m),style,
  	        "<body>",h1 (pp m)]
  
  
  wwwURL m = htmlFile m
  pfeURL m = "pfe.cgi?"++simpModuleName m
  
  simpModuleName (PlainModule m) = m
  simpModuleName (MainModule path) = path
  
  --- Some HTML combinators that belong somewhere else...
  title=wrap "title"
  h1=wrap "h1"
  style=
   "<link rel=stylesheet type=\"text/css\" href=\"haskell.css\" title=Haskell>"
  doctype = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"
  
  wrap tag html = start tag++html++end tag
  start tag = "<"++tag++">"
  end tag = start ('/':tag)
  