P {align = NONE,
content = PCDATA desc}]
+ val summaries = foldr (fn ((d, desc, _), summaries) =>
+ HtmlPrint.output (p_decl_fref (annotate_decl d))
+ :: BR {clear = NONE}
+ :: summaries)
+ [] decls
+
val entries = map (fn (d, desc, _) =>
let
val cblock = HtmlPrint.output (p_decl (annotate_decl d))
dblock]
end) decls
- val body = BlockList (body :: entries)
+ val body = BlockList (body
+ :: HR {align = NONE,
+ noshade = false,
+ size = NONE,
+ width = NONE}
+ :: TextBlock (TT (TextList summaries))
+ :: HR {align = NONE,
+ noshade = false,
+ size = NONE,
+ width = NONE}
+ :: entries)
val html = HTML {version = NONE,
head = [Head_TITLE title],
alink = NONE,
content = body}}
in
- (*TextIO.output (outf, Config.Autodoc.htmlHeader ("Domtool Module " ^ uppercase file'));
- Option.app (fn desc => (TextIO.output (outf, desc);
- TextIO.output (outf, "\n"))) desc;
-
- app doDecl decls;
-
- TextIO.output (outf, Config.Autodoc.htmlFooter);*)
PrHTML.prHTML {putc = (fn ch => TextIO.output1 (outf, ch)),
puts = (fn s => TextIO.output (outf, s))} html;
TextIO.closeOut outf
end
+ val title = "Domtool Module Index"
+
+ val items = map (fn file =>
+ let
+ val file' = modify file
+ in
+ LI {ty = NONE,
+ value = NONE,
+ content = TextBlock (A {name = NONE,
+ href = SOME (file' ^ ".html"),
+ rel = NONE,
+ rev = NONE,
+ title = NONE,
+ content = PCDATA (uppercase file')})}
+ end) infiles
+
+ val index = HTML {version = NONE,
+ head = [Head_TITLE title],
+ body = BODY {background = NONE,
+ bgcolor = NONE,
+ text = NONE,
+ link = NONE,
+ vlink = NONE,
+ alink = NONE,
+ content = UL {ty = NONE,
+ compact = false,
+ content = items}}}
+
val outf = TextIO.openOut (outdir ^ "/index.html")
in
- TextIO.output (outf, Config.Autodoc.htmlHeader "Domtool Module Index");
-
- app (fn file =>
- let
- val file' = modify file
- in
- TextIO.output (outf, "<li> <a href=\"");
- TextIO.output (outf, file');
- TextIO.output (outf, ".html\">");
- TextIO.output (outf, uppercase file');
- TextIO.output (outf, "</a></li>\n")
- end) infiles;
-
- TextIO.output (outf, Config.Autodoc.htmlFooter);
+ PrHTML.prHTML {putc = (fn ch => TextIO.output1 (outf, ch)),
+ puts = (fn s => TextIO.output (outf, s))} index;
TextIO.closeOut outf;
app doFile infiles
[dBox [keyword "context", space 1,
ident name]])
+fun p_decl_fref d =
+ case d of
+ DExternType name => dBox [keyword "extern", space 1,
+ keyword "type", space 1,
+ style (HTMLDev.link ("#T_" ^ name), [ident name])]
+ | DExternVal (name, t) => dBox [keyword "extern", space 1,
+ keyword "val", space 1,
+ style (HTMLDev.link ("#V_" ^ name), [ident name]),
+ space 1,
+ string ":", space 1,
+ p_typ t]
+ | DVal (name, NONE, _) => string "Unannotated val declaration!"
+ | DVal (name, SOME t, _) => dBox [keyword "val", space 1,
+ style (HTMLDev.link ("#V_" ^ name), [ident name]),
+ space 1,
+ punct ":", space 1,
+ p_typ t]
+ | DContext name => dBox [keyword "context", space 1,
+ style (HTMLDev.link ("#C_" ^ name), [ident name])]
+
fun output d =
let
val dev = HTMLDev.openDev {wid = 80,