From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (kristaps@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.3/8.14.3) with ESMTP id oBH0ITbL011561 for ; Thu, 16 Dec 2010 19:18:30 -0500 (EST) Received: (from kristaps@localhost) by krisdoz.my.domain (8.14.3/8.14.3/Submit) id oBH0IT44016088; Thu, 16 Dec 2010 19:18:29 -0500 (EST) Date: Thu, 16 Dec 2010 19:18:29 -0500 (EST) Message-Id: <201012170018.oBH0IT44016088@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: kristaps@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Significantly clean up Sh, Ss, SH, and SS handling in -Thtml. X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Significantly clean up Sh, Ss, SH, and SS handling in -Thtml. Now a top-level DIV is used with only an H1 or H2 as the section header. This makes manuals much more readable in lynx, less complicated, and relegates left-margin widths to example.style.css. Modified Files: -------------- mdocml: example.style.css man_html.c mdoc_html.c Revision Data ------------- Index: man_html.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man_html.c,v retrieving revision 1.53 retrieving revision 1.54 diff -Lman_html.c -Lman_html.c -u -p -r1.53 -r1.54 --- man_html.c +++ man_html.c @@ -375,35 +375,16 @@ man_br_pre(MAN_ARGS) static int man_SH_pre(MAN_ARGS) { - struct htmlpair tag[2]; - struct roffsu su; + struct htmlpair tag; - if (MAN_BODY == n->type) { - SCALE_HS_INIT(&su, INDENT); - bufcat_su(h, "margin-left", &su); - PAIR_CLASS_INIT(&tag[0], "sec-body"); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); + if (MAN_BLOCK == n->type) { + PAIR_CLASS_INIT(&tag, "section"); + print_otag(h, TAG_DIV, 1, &tag); return(1); - } else if (MAN_BLOCK == n->type) { - PAIR_CLASS_INIT(&tag[0], "sec-block"); - if (n->prev && MAN_SH == n->prev->tok) - if (NULL == n->prev->body->child) { - print_otag(h, TAG_DIV, 1, tag); - return(1); - } - - SCALE_VS_INIT(&su, 1); - bufcat_su(h, "margin-top", &su); - if (NULL == n->next) - bufcat_su(h, "margin-bottom", &su); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); + } else if (MAN_BODY == n->type) return(1); - } - PAIR_CLASS_INIT(&tag[0], "sec-head"); - print_otag(h, TAG_DIV, 1, tag); + print_otag(h, TAG_H1, 0, NULL); return(1); } @@ -488,41 +469,16 @@ man_SM_pre(MAN_ARGS) static int man_SS_pre(MAN_ARGS) { - struct htmlpair tag[3]; - struct roffsu su; - - SCALE_VS_INIT(&su, 1); - - if (MAN_BODY == n->type) { - PAIR_CLASS_INIT(&tag[0], "ssec-body"); - if (n->parent->next && n->child) { - bufcat_su(h, "margin-bottom", &su); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); - return(1); - } + struct htmlpair tag; - print_otag(h, TAG_DIV, 1, tag); + if (MAN_BLOCK == n->type) { + PAIR_CLASS_INIT(&tag, "subsection"); + print_otag(h, TAG_DIV, 1, &tag); return(1); - } else if (MAN_BLOCK == n->type) { - PAIR_CLASS_INIT(&tag[0], "ssec-block"); - if (n->prev && MAN_SS == n->prev->tok) - if (n->prev->body->child) { - bufcat_su(h, "margin-top", &su); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); - return(1); - } - - print_otag(h, TAG_DIV, 1, tag); + } else if (MAN_BODY == n->type) return(1); - } - SCALE_HS_INIT(&su, INDENT - HALFINDENT); - bufcat_su(h, "margin-left", &su); - PAIR_CLASS_INIT(&tag[0], "ssec-head"); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); + print_otag(h, TAG_H2, 0, NULL); return(1); } Index: mdoc_html.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_html.c,v retrieving revision 1.122 retrieving revision 1.123 diff -Lmdoc_html.c -Lmdoc_html.c -u -p -r1.122 -r1.123 --- mdoc_html.c +++ mdoc_html.c @@ -557,46 +557,25 @@ mdoc_root_pre(MDOC_ARGS) static int mdoc_sh_pre(MDOC_ARGS) { - struct htmlpair tag[2]; - const struct mdoc_node *nn; - char buf[BUFSIZ]; - struct roffsu su; - - if (MDOC_BODY == n->type) { - SCALE_HS_INIT(&su, INDENT); - bufcat_su(h, "margin-left", &su); - PAIR_CLASS_INIT(&tag[0], "sec-body"); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); - return(1); - } else if (MDOC_BLOCK == n->type) { - PAIR_CLASS_INIT(&tag[0], "sec-block"); - if (n->prev && NULL == n->prev->body->child) { - print_otag(h, TAG_DIV, 1, tag); - return(1); - } - - SCALE_VS_INIT(&su, 1); - bufcat_su(h, "margin-top", &su); - if (NULL == n->next) - bufcat_su(h, "margin-bottom", &su); + struct htmlpair tag; + char buf[BUFSIZ]; - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); + if (MDOC_BLOCK == n->type) { + PAIR_CLASS_INIT(&tag, "section"); + print_otag(h, TAG_DIV, 1, &tag); + return(1); + } else if (MDOC_BODY == n->type) return(1); - } buf[0] = '\0'; - for (nn = n->child; nn; nn = nn->next) { - html_idcat(buf, nn->string, BUFSIZ); - if (nn->next) + for (n = n->child; n; n = n->next) { + html_idcat(buf, n->string, BUFSIZ); + if (n->next) html_idcat(buf, " ", BUFSIZ); } - PAIR_CLASS_INIT(&tag[0], "sec-head"); - PAIR_ID_INIT(&tag[1], buf); - - print_otag(h, TAG_DIV, 2, tag); + PAIR_ID_INIT(&tag, buf); + print_otag(h, TAG_H1, 1, &tag); return(1); } @@ -605,51 +584,25 @@ mdoc_sh_pre(MDOC_ARGS) static int mdoc_ss_pre(MDOC_ARGS) { - struct htmlpair tag[3]; - const struct mdoc_node *nn; - char buf[BUFSIZ]; - struct roffsu su; - - SCALE_VS_INIT(&su, 1); - - if (MDOC_BODY == n->type) { - PAIR_CLASS_INIT(&tag[0], "ssec-body"); - if (n->parent->next && n->child) { - bufcat_su(h, "margin-bottom", &su); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); - } else - print_otag(h, TAG_DIV, 1, tag); + struct htmlpair tag; + char buf[BUFSIZ]; + + if (MDOC_BLOCK == n->type) { + PAIR_CLASS_INIT(&tag, "subsection"); + print_otag(h, TAG_DIV, 1, &tag); return(1); - } else if (MDOC_BLOCK == n->type) { - PAIR_CLASS_INIT(&tag[0], "ssec-block"); - if (n->prev) { - bufcat_su(h, "margin-top", &su); - PAIR_STYLE_INIT(&tag[1], h); - print_otag(h, TAG_DIV, 2, tag); - } else - print_otag(h, TAG_DIV, 1, tag); + } else if (MDOC_BODY == n->type) return(1); - } - - /* TODO: see note in mdoc_sh_pre() about duplicates. */ buf[0] = '\0'; - for (nn = n->child; nn; nn = nn->next) { - html_idcat(buf, nn->string, BUFSIZ); - if (nn->next) + for (n = n->child; n; n = n->next) { + html_idcat(buf, n->string, BUFSIZ); + if (n->next) html_idcat(buf, " ", BUFSIZ); } - SCALE_HS_INIT(&su, INDENT - HALFINDENT); - su.scale = -su.scale; - bufcat_su(h, "margin-left", &su); - - PAIR_CLASS_INIT(&tag[0], "ssec-head"); - PAIR_STYLE_INIT(&tag[1], h); - PAIR_ID_INIT(&tag[2], buf); - - print_otag(h, TAG_DIV, 3, tag); + PAIR_ID_INIT(&tag, buf); + print_otag(h, TAG_H2, 1, &tag); return(1); } Index: example.style.css =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/example.style.css,v retrieving revision 1.27 retrieving revision 1.28 diff -Lexample.style.css -Lexample.style.css -u -p -r1.27 -r1.28 --- example.style.css +++ example.style.css @@ -1,18 +1,14 @@ /* $Id$ */ html { min-width: 580px; width: 580px; } - body { font-family: monospace; } /* Sections. */ -div.sec-head { font-style: normal; font-weight: bold; } /* Sections (Sh). */ -div.sec-body { } -div.sec-block { } - -div.ssec-head { font-style: normal; font-weight: bold; } /* Sub-sections (Ss). */ -div.ssec-body { } -div.ssec-block { } +h1 { font-size: medium; margin-left: -4ex; } /* Section header (Sh, SH). */ +h2 { font-size: medium; margin-left: -2ex; } /* Sub-section header (Ss, SS). */ +div.section { margin-bottom: 3ex; margin-left: 4ex; } /* Sections (Sh, SH). */ +div.subsection { } /* Sub-sections (Ss, SS). */ /* Vertical spacing. */ -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv