From bf91378aa0490e0917301c7a0525831c1ffcc6b0 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Mon, 26 Oct 2009 04:09:45 +0000 Subject: Full `%U' support. `Lk' display fixed. Renamed arg2xxxx as a2xxxx for consistency. Renamed print_foot to print_man_foot for consistency. Removed default printing of `~' when `Lk' not provided (not sure where I got that from). --- mdoc_html.c | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) (limited to 'mdoc_html.c') diff --git a/mdoc_html.c b/mdoc_html.c index 5dbad7c2..6a05a918 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.37 2009/10/24 05:52:13 kristaps Exp $ */ +/* $Id: mdoc_html.c,v 1.38 2009/10/26 04:09:45 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -1757,6 +1757,9 @@ mdoc_lk_pre(MDOC_ARGS) tag[1].val = nn->string; print_otag(h, TAG_A, 2, tag); + if (NULL == nn->next) + return(1); + for (nn = nn->next; nn; nn = nn->next) print_text(h, nn->string); @@ -2147,58 +2150,65 @@ mdoc_lb_pre(MDOC_ARGS) static int mdoc__x_pre(MDOC_ARGS) { - struct htmlpair tag; - - /* TODO: %U. */ + struct htmlpair tag[2]; switch (n->tok) { case(MDOC__A): - PAIR_CLASS_INIT(&tag, "ref-auth"); + PAIR_CLASS_INIT(&tag[0], "ref-auth"); break; case(MDOC__B): - PAIR_CLASS_INIT(&tag, "ref-book"); + PAIR_CLASS_INIT(&tag[0], "ref-book"); break; case(MDOC__C): - PAIR_CLASS_INIT(&tag, "ref-city"); + PAIR_CLASS_INIT(&tag[0], "ref-city"); break; case(MDOC__D): - PAIR_CLASS_INIT(&tag, "ref-date"); + PAIR_CLASS_INIT(&tag[0], "ref-date"); break; case(MDOC__I): - PAIR_CLASS_INIT(&tag, "ref-issue"); + PAIR_CLASS_INIT(&tag[0], "ref-issue"); break; case(MDOC__J): - PAIR_CLASS_INIT(&tag, "ref-jrnl"); + PAIR_CLASS_INIT(&tag[0], "ref-jrnl"); break; case(MDOC__N): - PAIR_CLASS_INIT(&tag, "ref-num"); + PAIR_CLASS_INIT(&tag[0], "ref-num"); break; case(MDOC__O): - PAIR_CLASS_INIT(&tag, "ref-opt"); + PAIR_CLASS_INIT(&tag[0], "ref-opt"); break; case(MDOC__P): - PAIR_CLASS_INIT(&tag, "ref-page"); + PAIR_CLASS_INIT(&tag[0], "ref-page"); break; case(MDOC__Q): - PAIR_CLASS_INIT(&tag, "ref-corp"); + PAIR_CLASS_INIT(&tag[0], "ref-corp"); break; case(MDOC__R): - PAIR_CLASS_INIT(&tag, "ref-rep"); + PAIR_CLASS_INIT(&tag[0], "ref-rep"); break; case(MDOC__T): - PAIR_CLASS_INIT(&tag, "ref-title"); + PAIR_CLASS_INIT(&tag[0], "ref-title"); print_text(h, "\\(lq"); h->flags |= HTML_NOSPACE; break; + case(MDOC__U): + PAIR_CLASS_INIT(&tag[0], "link-ref"); + break; case(MDOC__V): - PAIR_CLASS_INIT(&tag, "ref-vol"); + PAIR_CLASS_INIT(&tag[0], "ref-vol"); break; default: abort(); /* NOTREACHED */ } - print_otag(h, TAG_SPAN, 1, &tag); + if (MDOC__U != n->tok) { + print_otag(h, TAG_SPAN, 1, tag); + return(1); + } + + PAIR_HREF_INIT(&tag[1], n->child->string); + print_otag(h, TAG_A, 2, tag); return(1); } -- cgit v1.2.3-56-ge451