=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.249 retrieving revision 1.253 diff -u -p -r1.249 -r1.253 --- mandoc/mdoc_html.c 2017/01/17 15:32:44 1.249 +++ mandoc/mdoc_html.c 2017/01/19 15:27:34 1.253 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.249 2017/01/17 15:32:44 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.253 2017/01/19 15:27:34 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze @@ -299,26 +299,25 @@ void html_mdoc(void *arg, const struct roff_man *mdoc) { struct html *h; - struct tag *t, *tt; + struct tag *t; h = (struct html *)arg; - if ( ! (HTML_FRAGMENT & h->oflags)) { + if ((h->oflags & HTML_FRAGMENT) == 0) { print_gen_decls(h); - t = print_otag(h, TAG_HTML, ""); - tt = print_otag(h, TAG_HEAD, ""); + print_otag(h, TAG_HTML, ""); + t = print_otag(h, TAG_HEAD, ""); print_mdoc_head(&mdoc->meta, mdoc->first->child, h); - print_tagq(h, tt); + print_tagq(h, t); print_otag(h, TAG_BODY, ""); - print_otag(h, TAG_DIV, "c", "mandoc"); - } else - t = print_otag(h, TAG_DIV, "c", "mandoc"); + } mdoc_root_pre(&mdoc->meta, mdoc->first->child, h); + t = print_otag(h, TAG_DIV, "c", "manual-text"); print_mdoc_nodelist(&mdoc->meta, mdoc->first->child, h); - mdoc_root_post(&mdoc->meta, mdoc->first->child, h); print_tagq(h, t); - putchar('\n'); + mdoc_root_post(&mdoc->meta, mdoc->first->child, h); + print_tagq(h, NULL); } static void @@ -385,8 +384,6 @@ print_mdoc_node(MDOC_ARGS) h->flags |= HTML_NOSPACE; return; case ROFFT_EQN: - if (n->flags & NODE_LINE) - putchar('\n'); print_eqn(h, n->eqn); break; case ROFFT_TBL: @@ -524,7 +521,6 @@ mdoc_sh_pre(MDOC_ARGS) switch (n->type) { case ROFFT_BLOCK: - print_otag(h, TAG_DIV, "c", "section"); return 1; case ROFFT_BODY: if (n->sec == SEC_AUTHORS) @@ -535,10 +531,10 @@ mdoc_sh_pre(MDOC_ARGS) } if ((id = make_id(n)) != NULL) { - print_otag(h, TAG_H1, "i", id); + print_otag(h, TAG_H1, "ci", "Sh", id); free(id); } else - print_otag(h, TAG_H1, ""); + print_otag(h, TAG_H1, "c", "Sh"); return 1; } @@ -548,17 +544,14 @@ mdoc_ss_pre(MDOC_ARGS) { char *id; - if (n->type == ROFFT_BLOCK) { - print_otag(h, TAG_DIV, "c", "subsection"); + if (n->type != ROFFT_HEAD) return 1; - } else if (n->type == ROFFT_BODY) - return 1; if ((id = make_id(n)) != NULL) { - print_otag(h, TAG_H2, "i", id); + print_otag(h, TAG_H2, "ci", "Ss", id); free(id); } else - print_otag(h, TAG_H2, ""); + print_otag(h, TAG_H2, "c", "Ss"); return 1; }