version 1.197, 2014/08/13 15:25:22 |
version 1.207, 2014/09/27 11:17:19 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 314 synopsis_pre(struct html *h, const struct mdoc_node *n |
|
Line 314 synopsis_pre(struct html *h, const struct mdoc_node *n |
|
case MDOC_In: |
case MDOC_In: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case MDOC_Vt: |
case MDOC_Vt: |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
break; |
break; |
case MDOC_Ft: |
case MDOC_Ft: |
if (MDOC_Fn != n->tok && MDOC_Fo != n->tok) { |
if (MDOC_Fn != n->tok && MDOC_Fo != n->tok) { |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
break; |
break; |
} |
} |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
Line 484 print_mdoc_node(MDOC_ARGS) |
|
Line 484 print_mdoc_node(MDOC_ARGS) |
|
static void |
static void |
mdoc_root_post(MDOC_ARGS) |
mdoc_root_post(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag[3]; |
struct htmlpair tag; |
struct tag *t, *tt; |
struct tag *t, *tt; |
|
|
PAIR_SUMMARY_INIT(&tag[0], "Document Footer"); |
PAIR_CLASS_INIT(&tag, "foot"); |
PAIR_CLASS_INIT(&tag[1], "foot"); |
t = print_otag(h, TAG_TABLE, 1, &tag); |
PAIR_INIT(&tag[2], ATTR_WIDTH, "100%"); |
|
t = print_otag(h, TAG_TABLE, 3, tag); |
|
PAIR_INIT(&tag[0], ATTR_WIDTH, "50%"); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
|
|
print_otag(h, TAG_TBODY, 0, NULL); |
print_otag(h, TAG_TBODY, 0, NULL); |
|
|
tt = print_otag(h, TAG_TR, 0, NULL); |
tt = print_otag(h, TAG_TR, 0, NULL); |
|
|
PAIR_CLASS_INIT(&tag[0], "foot-date"); |
PAIR_CLASS_INIT(&tag, "foot-date"); |
print_otag(h, TAG_TD, 1, tag); |
print_otag(h, TAG_TD, 1, &tag); |
print_text(h, meta->date); |
print_text(h, meta->date); |
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "foot-os"); |
PAIR_CLASS_INIT(&tag, "foot-os"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "right"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
|
print_text(h, meta->os); |
print_text(h, meta->os); |
print_tagq(h, t); |
print_tagq(h, t); |
} |
} |
Line 514 mdoc_root_post(MDOC_ARGS) |
|
Line 508 mdoc_root_post(MDOC_ARGS) |
|
static int |
static int |
mdoc_root_pre(MDOC_ARGS) |
mdoc_root_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag[3]; |
struct htmlpair tag; |
struct tag *t, *tt; |
struct tag *t, *tt; |
char *volume, *title; |
char *volume, *title; |
|
|
Line 530 mdoc_root_pre(MDOC_ARGS) |
|
Line 524 mdoc_root_pre(MDOC_ARGS) |
|
mandoc_asprintf(&title, "%s(%s)", |
mandoc_asprintf(&title, "%s(%s)", |
meta->title, meta->msec); |
meta->title, meta->msec); |
|
|
PAIR_SUMMARY_INIT(&tag[0], "Document Header"); |
PAIR_CLASS_INIT(&tag, "head"); |
PAIR_CLASS_INIT(&tag[1], "head"); |
t = print_otag(h, TAG_TABLE, 1, &tag); |
PAIR_INIT(&tag[2], ATTR_WIDTH, "100%"); |
|
t = print_otag(h, TAG_TABLE, 3, tag); |
|
PAIR_INIT(&tag[0], ATTR_WIDTH, "30%"); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
|
|
print_otag(h, TAG_TBODY, 0, NULL); |
print_otag(h, TAG_TBODY, 0, NULL); |
|
|
tt = print_otag(h, TAG_TR, 0, NULL); |
tt = print_otag(h, TAG_TR, 0, NULL); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-ltitle"); |
PAIR_CLASS_INIT(&tag, "head-ltitle"); |
print_otag(h, TAG_TD, 1, tag); |
print_otag(h, TAG_TD, 1, &tag); |
print_text(h, title); |
print_text(h, title); |
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-vol"); |
PAIR_CLASS_INIT(&tag, "head-vol"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "center"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
|
print_text(h, volume); |
print_text(h, volume); |
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-rtitle"); |
PAIR_CLASS_INIT(&tag, "head-rtitle"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "right"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
|
print_text(h, title); |
print_text(h, title); |
print_tagq(h, t); |
print_tagq(h, t); |
|
|
Line 570 mdoc_sh_pre(MDOC_ARGS) |
|
Line 556 mdoc_sh_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
|
|
if (MDOC_BLOCK == n->type) { |
switch (n->type) { |
|
case MDOC_BLOCK: |
PAIR_CLASS_INIT(&tag, "section"); |
PAIR_CLASS_INIT(&tag, "section"); |
print_otag(h, TAG_DIV, 1, &tag); |
print_otag(h, TAG_DIV, 1, &tag); |
return(1); |
return(1); |
} else if (MDOC_BODY == n->type) |
case MDOC_BODY: |
|
if (n->sec == SEC_AUTHORS) |
|
h->flags &= ~(HTML_SPLIT|HTML_NOSPLIT); |
return(1); |
return(1); |
|
default: |
|
break; |
|
} |
|
|
bufinit(h); |
bufinit(h); |
bufcat(h, "x"); |
bufcat(h, "x"); |
Line 640 mdoc_fl_pre(MDOC_ARGS) |
|
Line 632 mdoc_fl_pre(MDOC_ARGS) |
|
|
|
print_text(h, "\\-"); |
print_text(h, "\\-"); |
|
|
if (n->child) |
if ( ! (n->nchild == 0 && |
|
(n->next == NULL || |
|
n->next->type == MDOC_TEXT || |
|
n->next->flags & MDOC_LINE))) |
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
else if (n->next && n->next->line == n->line) |
|
h->flags |= HTML_NOSPACE; |
|
|
|
return(1); |
return(1); |
} |
} |
Line 1083 mdoc_ex_pre(MDOC_ARGS) |
|
Line 1076 mdoc_ex_pre(MDOC_ARGS) |
|
static int |
static int |
mdoc_em_pre(MDOC_ARGS) |
mdoc_em_pre(MDOC_ARGS) |
{ |
{ |
|
struct htmlpair tag; |
|
|
print_otag(h, TAG_EM, 0, NULL); |
PAIR_CLASS_INIT(&tag, "emph"); |
|
print_otag(h, TAG_SPAN, 1, &tag); |
return(1); |
return(1); |
} |
} |
|
|
Line 1161 mdoc_bd_pre(MDOC_ARGS) |
|
Line 1156 mdoc_bd_pre(MDOC_ARGS) |
|
break; |
break; |
} |
} |
if ( ! comp) |
if ( ! comp) |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
return(1); |
return(1); |
} |
} |
|
|
Line 1255 mdoc_an_pre(MDOC_ARGS) |
|
Line 1250 mdoc_an_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
|
|
/* TODO: -split and -nosplit (see termp_an_pre()). */ |
if (n->norm->An.auth == AUTH_split) { |
|
h->flags &= ~HTML_NOSPLIT; |
|
h->flags |= HTML_SPLIT; |
|
return(0); |
|
} |
|
if (n->norm->An.auth == AUTH_nosplit) { |
|
h->flags &= ~HTML_SPLIT; |
|
h->flags |= HTML_NOSPLIT; |
|
return(0); |
|
} |
|
|
|
if (n->child == NULL) |
|
return(0); |
|
|
|
if (h->flags & HTML_SPLIT) |
|
print_otag(h, TAG_BR, 0, NULL); |
|
|
|
if (n->sec == SEC_AUTHORS && ! (h->flags & HTML_NOSPLIT)) |
|
h->flags |= HTML_SPLIT; |
|
|
PAIR_CLASS_INIT(&tag, "author"); |
PAIR_CLASS_INIT(&tag, "author"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |
return(1); |
return(1); |
|
|
mdoc_pp_pre(MDOC_ARGS) |
mdoc_pp_pre(MDOC_ARGS) |
{ |
{ |
|
|
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
return(0); |
return(0); |
} |
} |
|
|
Line 1820 mdoc_bf_pre(MDOC_ARGS) |
|
Line 1833 mdoc_bf_pre(MDOC_ARGS) |
|
else if (MDOC_BODY != n->type) |
else if (MDOC_BODY != n->type) |
return(1); |
return(1); |
|
|
if (FONT_Sy == n->norm->Bf.font) |
if (FONT_Em == n->norm->Bf.font) |
|
PAIR_CLASS_INIT(&tag[0], "emph"); |
|
else if (FONT_Sy == n->norm->Bf.font) |
PAIR_CLASS_INIT(&tag[0], "symb"); |
PAIR_CLASS_INIT(&tag[0], "symb"); |
else if (FONT_Li == n->norm->Bf.font) |
else if (FONT_Li == n->norm->Bf.font) |
PAIR_CLASS_INIT(&tag[0], "lit"); |
PAIR_CLASS_INIT(&tag[0], "lit"); |
Line 1838 mdoc_bf_pre(MDOC_ARGS) |
|
Line 1853 mdoc_bf_pre(MDOC_ARGS) |
|
bufcat_su(h, "margin-left", &su); |
bufcat_su(h, "margin-left", &su); |
PAIR_STYLE_INIT(&tag[1], h); |
PAIR_STYLE_INIT(&tag[1], h); |
print_otag(h, TAG_DIV, 2, tag); |
print_otag(h, TAG_DIV, 2, tag); |
if (FONT_Em == n->norm->Bf.font) |
|
print_otag(h, TAG_EM, 0, NULL); |
|
return(1); |
return(1); |
} |
} |
|
|
Line 1877 mdoc_rs_pre(MDOC_ARGS) |
|
Line 1890 mdoc_rs_pre(MDOC_ARGS) |
|
return(1); |
return(1); |
|
|
if (n->prev && SEC_SEE_ALSO == n->sec) |
if (n->prev && SEC_SEE_ALSO == n->sec) |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
|
|
PAIR_CLASS_INIT(&tag, "ref"); |
PAIR_CLASS_INIT(&tag, "ref"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |