Fix TOC generation.

pull/193/head
Michael R Sweet 16 years ago
parent 4e75d3579f
commit 5946d5637e
  1. 21
      mxmldoc.c

@ -4707,7 +4707,8 @@ write_toc(FILE *out, /* I - Output file */
*/ */
if (!xml) if (!xml)
fputs("<h2 class=\"title\">Contents</h2>\n", out); fputs("<h2 class=\"title\">Contents</h2>\n"
"<ul class=\"contents\">\n", out);
if (introfile && (fp = fopen(introfile, "r")) != NULL) if (introfile && (fp = fopen(introfile, "r")) != NULL)
{ {
@ -4716,7 +4717,7 @@ write_toc(FILE *out, /* I - Output file */
*end, /* End of line */ *end, /* End of line */
*anchor, /* Anchor name */ *anchor, /* Anchor name */
quote, /* Quote character for value */ quote, /* Quote character for value */
level = '2', /* Current heading level */ level = '1', /* Current heading level */
newlevel; /* New heading level */ newlevel; /* New heading level */
int inelement; /* In an element? */ int inelement; /* In an element? */
@ -4817,7 +4818,7 @@ write_toc(FILE *out, /* I - Output file */
if (newlevel < level) if (newlevel < level)
fputs("</Node>\n" fputs("</Node>\n"
"</Subnodes></Node>\n", out); "</Subnodes></Node>\n", out);
else if (newlevel > level) else if (newlevel > level && newlevel == '3')
fputs("<Subnodes>\n", out); fputs("<Subnodes>\n", out);
else if (xmlid > 1) else if (xmlid > 1)
fputs("</Node>\n", out); fputs("</Node>\n", out);
@ -4863,16 +4864,12 @@ write_toc(FILE *out, /* I - Output file */
fputs("</li>\n" fputs("</li>\n"
"</ul></li>\n", out); "</ul></li>\n", out);
else if (newlevel > level) else if (newlevel > level)
{ fputs("<ul class=\"subcontents\">\n", out);
if (newlevel == '2') else if (xmlid > 1)
fputs("<ul class=\"contents\">\n", out);
else
fputs("<ul class=\"subcontents\">\n", out);
}
else
fputs("</li>\n", out); fputs("</li>\n", out);
level = newlevel; level = newlevel;
xmlid ++;
fprintf(out, "<li><a href=\"%s#%s\"%s>", target ? target : "", anchor, fprintf(out, "<li><a href=\"%s#%s\"%s>", target ? target : "", anchor,
targetattr); targetattr);
@ -4924,11 +4921,9 @@ write_toc(FILE *out, /* I - Output file */
fputs("</ul></li>\n", out); fputs("</ul></li>\n", out);
} }
} }
fclose(fp); fclose(fp);
} }
else if (!xml)
fputs("<ul class=\"contents\">\n", out);
/* /*
* Next the classes... * Next the classes...

Loading…
Cancel
Save