summaryrefslogtreecommitdiff
path: root/usr.bin/mandoc/mdoc_html.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2011-10-09 17:59:57 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2011-10-09 17:59:57 +0000
commitc45e61c7b6744c0dd8c3296ed9a6ef961a772ac6 (patch)
tree651a796877e571db7e8dd5ce49b131d5c027ca3d /usr.bin/mandoc/mdoc_html.c
parent239a9a9c6888a0c342f18803191d66fac05b74e1 (diff)
Sync to version 1.12.0; all code by kristaps@:
Implement .Rv in -Tman. Let -man -Tman work a bit like cat(1). Add the -Ofragment option to -T[x]html. Minor fixes in -T[x]html. Lots of apropos(1) and -Tman code cleanup.
Diffstat (limited to 'usr.bin/mandoc/mdoc_html.c')
-rw-r--r--usr.bin/mandoc/mdoc_html.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/usr.bin/mandoc/mdoc_html.c b/usr.bin/mandoc/mdoc_html.c
index c3ab375ce1b..680c1cc53c7 100644
--- a/usr.bin/mandoc/mdoc_html.c
+++ b/usr.bin/mandoc/mdoc_html.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_html.c,v 1.61 2011/09/18 15:54:48 schwarze Exp $ */
+/* $Id: mdoc_html.c,v 1.62 2011/10/09 17:59:56 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -258,17 +258,9 @@ static const char * const lists[LIST_MAX] = {
void
html_mdoc(void *arg, const struct mdoc *m)
{
- struct html *h;
- struct tag *t;
-
- h = (struct html *)arg;
-
- print_gen_decls(h);
- t = print_otag(h, TAG_HTML, 0, NULL);
- print_mdoc(mdoc_meta(m), mdoc_node(m), h);
- print_tagq(h, t);
- printf("\n");
+ print_mdoc(mdoc_meta(m), mdoc_node(m), (struct html *)arg);
+ putchar('\n');
}
@@ -356,13 +348,22 @@ a2offs(const char *p, struct roffsu *su)
static void
print_mdoc(MDOC_ARGS)
{
- struct tag *t;
+ struct tag *t, *tt;
+ struct htmlpair tag;
- t = print_otag(h, TAG_HEAD, 0, NULL);
- print_mdoc_head(m, n, h);
- print_tagq(h, t);
+ PAIR_CLASS_INIT(&tag, "mandoc");
+
+ if ( ! (HTML_FRAGMENT & h->oflags)) {
+ print_gen_decls(h);
+ t = print_otag(h, TAG_HTML, 0, NULL);
+ tt = print_otag(h, TAG_HEAD, 0, NULL);
+ print_mdoc_head(m, n, h);
+ print_tagq(h, tt);
+ print_otag(h, TAG_BODY, 0, NULL);
+ print_otag(h, TAG_DIV, 1, &tag);
+ } else
+ t = print_otag(h, TAG_DIV, 1, &tag);
- t = print_otag(h, TAG_BODY, 0, NULL);
print_mdoc_nodelist(m, n, h);
print_tagq(h, t);
}