From cd0c8ee2f81d98fa842442b5874ae4ff38bfbe85 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 11 Aug 2002 16:02:43 +0000 Subject: Slightly improve the handling of headings in HTML single-file mode. [originally from svn r1832] --- bk_xhtml.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'bk_xhtml.c') diff --git a/bk_xhtml.c b/bk_xhtml.c index 18a7409..fef0779 100644 --- a/bk_xhtml.c +++ b/bk_xhtml.c @@ -631,10 +631,12 @@ static int xhtml_para_level(paragraph *p) { switch (p->type) { + case para_Title: + return 0; + break; case para_UnnumberedChapter: case para_Chapter: case para_Appendix: - case para_Title: return 1; break; /* case para_BiblioCited: @@ -1449,6 +1451,18 @@ static void xhtml_heading(FILE *fp, paragraph *p) rdaddsc(&t, ": "); /* FIXME: configurability */ } xhtml_rdaddwc(&t, text, NULL); + /* + * If we're outputting in single-file mode, we need to lower + * the level of each heading by one, because the overall + * document title will be sitting right at the top as an

+ * and so chapters and sections should start at

. + * + * Even if not, the document title will come back from + * xhtml_para_level() as level zero, so we must increment that + * no matter what leaf_level is set to. + */ + if (conf.leaf_level == 0 || level == 0) + level++; fprintf(fp, "%s\n", fragment, level, t.text, level); sfree(t.text); } -- cgit v1.1