From jpff@codemist.co.uk Thu Jul 08 17:49:17 2004
Date: Thu,  8 Jul 2004 17:49:13 +0100
From: jpff@codemist.co.uk
To: acn1@cam.ac.uk
Subject: Not tested

but I think the changed to add logos to help are as below.  Not sure
it deals with the top node but I have not found where that is done.
Also not sure if one can escape " in a string in Standard LISP, or
whether one needs to use the %c or equivalent stuff.  May be that some
of the " as not needed.
==John
------------------------------------------------------------------------
in help/htmlhelp2.red

symbolic procedure emit_node_title(u,dummy,type);
  <<fonton();
    myterpri();
    html_open "TITLE";
    textout_name u;
    html_close "TITLE";
    html_close "A";    % from emit_node_label
    myterpri();
%%% Two new lines
    channelprintf(outfile!*,"<p align=\"center\"><img src=\"redlogo.gif\" width=621 height=60 border=0 alt=\"REDUCE\"></p>");
    myterpri();
%%% End of insert
    channelprintf(outfile!*,"<b><a href=%w>INDEX</a></b><p><p>%n",indexfilename);
  >>;



and later in same file

symbolic procedure html_indexfile();
  begin scalar u,v,q,r,s,rr,!*lower;
   prin2t "..... compiling html index file";
   s := for each q in node_file_labels join
     if pairp car q then  {sort_term car q . q};
   s := sort(s,'html_indexfile_sort);
    % remove trivial entries
   r:=s;
  while r do
  <<u:=car r; r:=cdr r;
    if car u member
   '((c o m m a n d)
     (c o n c e p t)
     (c o n s t a n t)
     (d e c l a r a t i o n)
     (i n t r o d u c t i o n)
     (o p e r a t o r)
     (p a c k a g e)
     (s w i t c h)
     (v a r i a b l e)
    )
      then s:=deletip(u,s);
  >>;
    % remove duplicates
  r:=s;
  while r and cdr r do
  <<u:=car r; rr:=r:=cdr r;
    while rr and html_indexfile_subsetp(car u,car (v:=car rr)) do
    <<if cddr u = cddr v then s:=deletip(u,s); rr:=cdr rr>>;
  >>;

  open_node_file "index";
  channelprintf(outfile!*, "<title>%w search index</title>%n",rootname());
% channelprintf(outfile!*, "<dl compact><isindex>%n");
  channelprintf(outfile!*, "<dl compact>%n");
%%% Two new lines
    channelprintf(outfile!*,"<p align=\"center\"><img src=\"redlogo.gif\" width=621 height=60 border=0 alt=\"REDUCE\"></p>");
    myterpri();
%%% End of insert
  channelprintf(outfile!*, "<menu>%n");
  for each x in s do
  <<channelprin2(outfile!*, "<dt>");
    for each c in cadr x do
      if c='!_ then  channelprin2(outfile!*," ") else
      if not(c='!\) then channelprin2(outfile!*,c);
    channelprintf(outfile!*, ": <a href=%w>",cddr x);
    q := cdr assoc(cddr x,labels2nodes);
    for each c in q do
      if c='!_ then  channelprin2(outfile!*," ") else
      if not(c='!\) then channelprin2(outfile!*,c);
    channelprin2t(outfile!*, "</a>");
  >>;
  channelprintf(outfile!*, "</menu>%n");
  close outfile!*;
  outfile!*:=nil;
  end;
