version 1.160, 2011/04/04 16:15:58 |
version 1.172, 2011/07/04 09:42:38 |
Line 288 a2width(const char *p, struct roffsu *su) |
|
Line 288 a2width(const char *p, struct roffsu *su) |
|
|
|
if ( ! a2roffsu(p, su, SCALE_MAX)) { |
if ( ! a2roffsu(p, su, SCALE_MAX)) { |
su->unit = SCALE_BU; |
su->unit = SCALE_BU; |
su->scale = (int)strlen(p); |
su->scale = html_strlen(p); |
} |
} |
} |
} |
|
|
Line 355 a2offs(const char *p, struct roffsu *su) |
|
Line 355 a2offs(const char *p, struct roffsu *su) |
|
SCALE_HS_INIT(su, INDENT * 2); |
SCALE_HS_INIT(su, INDENT * 2); |
else if ( ! a2roffsu(p, su, SCALE_MAX)) { |
else if ( ! a2roffsu(p, su, SCALE_MAX)) { |
su->unit = SCALE_BU; |
su->unit = SCALE_BU; |
su->scale = (int)strlen(p); |
su->scale = html_strlen(p); |
} |
} |
} |
} |
|
|
Line 382 print_mdoc_head(MDOC_ARGS) |
|
Line 382 print_mdoc_head(MDOC_ARGS) |
|
|
|
print_gen_head(h); |
print_gen_head(h); |
bufinit(h); |
bufinit(h); |
buffmt(h, "%s(%s)", m->title, m->msec); |
bufcat_fmt(h, "%s(%s)", m->title, m->msec); |
|
|
if (m->arch) { |
if (m->arch) |
bufcat(h, " ("); |
bufcat_fmt(h, " (%s)", m->arch); |
bufcat(h, m->arch); |
|
bufcat(h, ")"); |
|
} |
|
|
|
print_otag(h, TAG_TITLE, 0, NULL); |
print_otag(h, TAG_TITLE, 0, NULL); |
print_text(h, h->buf); |
print_text(h, h->buf); |
Line 415 print_mdoc_node(MDOC_ARGS) |
|
Line 412 print_mdoc_node(MDOC_ARGS) |
|
child = 1; |
child = 1; |
t = h->tags.head; |
t = h->tags.head; |
|
|
bufinit(h); |
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_ROOT): |
case (MDOC_ROOT): |
child = mdoc_root_pre(m, n, h); |
child = mdoc_root_pre(m, n, h); |
Line 484 print_mdoc_node(MDOC_ARGS) |
|
Line 480 print_mdoc_node(MDOC_ARGS) |
|
|
|
print_stagq(h, t); |
print_stagq(h, t); |
|
|
bufinit(h); |
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_ROOT): |
case (MDOC_ROOT): |
mdoc_root_post(m, n, h); |
mdoc_root_post(m, n, h); |
|
|
mdoc_sh_pre(MDOC_ARGS) |
mdoc_sh_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
char buf[BUFSIZ]; |
|
|
|
if (MDOC_BLOCK == n->type) { |
if (MDOC_BLOCK == n->type) { |
PAIR_CLASS_INIT(&tag, "section"); |
PAIR_CLASS_INIT(&tag, "section"); |
Line 615 mdoc_sh_pre(MDOC_ARGS) |
|
Line 609 mdoc_sh_pre(MDOC_ARGS) |
|
} else if (MDOC_BODY == n->type) |
} else if (MDOC_BODY == n->type) |
return(1); |
return(1); |
|
|
buf[0] = '\0'; |
bufinit(h); |
|
bufcat(h, "x"); |
for (n = n->child; n; n = n->next) { |
for (n = n->child; n; n = n->next) { |
html_idcat(buf, n->string, BUFSIZ); |
bufcat_id(h, n->string); |
if (n->next) |
if (n->next) |
html_idcat(buf, " ", BUFSIZ); |
bufcat_id(h, " "); |
} |
} |
|
|
PAIR_ID_INIT(&tag, buf); |
PAIR_ID_INIT(&tag, h->buf); |
print_otag(h, TAG_H1, 1, &tag); |
print_otag(h, TAG_H1, 1, &tag); |
return(1); |
return(1); |
} |
} |
|
|
mdoc_ss_pre(MDOC_ARGS) |
mdoc_ss_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
char buf[BUFSIZ]; |
|
|
|
if (MDOC_BLOCK == n->type) { |
if (MDOC_BLOCK == n->type) { |
PAIR_CLASS_INIT(&tag, "subsection"); |
PAIR_CLASS_INIT(&tag, "subsection"); |
Line 642 mdoc_ss_pre(MDOC_ARGS) |
|
Line 636 mdoc_ss_pre(MDOC_ARGS) |
|
} else if (MDOC_BODY == n->type) |
} else if (MDOC_BODY == n->type) |
return(1); |
return(1); |
|
|
buf[0] = '\0'; |
bufinit(h); |
|
bufcat(h, "x"); |
for (n = n->child; n; n = n->next) { |
for (n = n->child; n; n = n->next) { |
html_idcat(buf, n->string, BUFSIZ); |
bufcat_id(h, n->string); |
if (n->next) |
if (n->next) |
html_idcat(buf, " ", BUFSIZ); |
bufcat_id(h, " "); |
} |
} |
|
|
PAIR_ID_INIT(&tag, buf); |
PAIR_ID_INIT(&tag, h->buf); |
print_otag(h, TAG_H2, 1, &tag); |
print_otag(h, TAG_H2, 1, &tag); |
return(1); |
return(1); |
} |
} |
Line 703 mdoc_nm_pre(MDOC_ARGS) |
|
Line 698 mdoc_nm_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
struct roffsu su; |
struct roffsu su; |
size_t len; |
int len; |
|
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_ELEM): |
case (MDOC_ELEM): |
Line 731 mdoc_nm_pre(MDOC_ARGS) |
|
Line 726 mdoc_nm_pre(MDOC_ARGS) |
|
|
|
for (len = 0, n = n->child; n; n = n->next) |
for (len = 0, n = n->child; n; n = n->next) |
if (MDOC_TEXT == n->type) |
if (MDOC_TEXT == n->type) |
len += strlen(n->string); |
len += html_strlen(n->string); |
|
|
if (0 == len && m->name) |
if (0 == len && m->name) |
len = strlen(m->name); |
len = html_strlen(m->name); |
|
|
SCALE_HS_INIT(&su, (double)len); |
SCALE_HS_INIT(&su, (double)len); |
|
bufinit(h); |
bufcat_su(h, "width", &su); |
bufcat_su(h, "width", &su); |
PAIR_STYLE_INIT(&tag, h); |
PAIR_STYLE_INIT(&tag, h); |
print_otag(h, TAG_COL, 1, &tag); |
print_otag(h, TAG_COL, 1, &tag); |
Line 899 mdoc_it_pre(MDOC_ARGS) |
|
Line 895 mdoc_it_pre(MDOC_ARGS) |
|
assert(lists[type]); |
assert(lists[type]); |
PAIR_CLASS_INIT(&tag[0], lists[type]); |
PAIR_CLASS_INIT(&tag[0], lists[type]); |
|
|
|
bufinit(h); |
|
|
if (MDOC_HEAD == n->type) { |
if (MDOC_HEAD == n->type) { |
switch (type) { |
switch (type) { |
case(LIST_bullet): |
case(LIST_bullet): |
Line 999 mdoc_bl_pre(MDOC_ARGS) |
|
Line 997 mdoc_bl_pre(MDOC_ARGS) |
|
struct roffsu su; |
struct roffsu su; |
char buf[BUFSIZ]; |
char buf[BUFSIZ]; |
|
|
|
bufinit(h); |
|
|
if (MDOC_BODY == n->type) { |
if (MDOC_BODY == n->type) { |
if (LIST_column == n->norm->Bl.type) |
if (LIST_column == n->norm->Bl.type) |
print_otag(h, TAG_TBODY, 0, NULL); |
print_otag(h, TAG_TBODY, 0, NULL); |
Line 1018 mdoc_bl_pre(MDOC_ARGS) |
|
Line 1018 mdoc_bl_pre(MDOC_ARGS) |
|
|
|
for (i = 0; i < (int)n->norm->Bl.ncols; i++) { |
for (i = 0; i < (int)n->norm->Bl.ncols; i++) { |
a2width(n->norm->Bl.cols[i], &su); |
a2width(n->norm->Bl.cols[i], &su); |
bufinit(h); |
|
if (i < (int)n->norm->Bl.ncols - 1) |
if (i < (int)n->norm->Bl.ncols - 1) |
bufcat_su(h, "width", &su); |
bufcat_su(h, "width", &su); |
else |
else |
Line 1147 mdoc_d1_pre(MDOC_ARGS) |
|
Line 1146 mdoc_d1_pre(MDOC_ARGS) |
|
return(1); |
return(1); |
|
|
SCALE_VS_INIT(&su, 0); |
SCALE_VS_INIT(&su, 0); |
|
bufinit(h); |
bufcat_su(h, "margin-top", &su); |
bufcat_su(h, "margin-top", &su); |
bufcat_su(h, "margin-bottom", &su); |
bufcat_su(h, "margin-bottom", &su); |
PAIR_STYLE_INIT(&tag[0], h); |
PAIR_STYLE_INIT(&tag[0], h); |
|
|
mdoc_sx_pre(MDOC_ARGS) |
mdoc_sx_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag[2]; |
struct htmlpair tag[2]; |
char buf[BUFSIZ]; |
|
|
|
strlcpy(buf, "#", BUFSIZ); |
bufinit(h); |
|
bufcat(h, "#x"); |
for (n = n->child; n; n = n->next) { |
for (n = n->child; n; n = n->next) { |
html_idcat(buf, n->string, BUFSIZ); |
bufcat_id(h, n->string); |
if (n->next) |
if (n->next) |
html_idcat(buf, " ", BUFSIZ); |
bufcat_id(h, " "); |
} |
} |
|
|
PAIR_CLASS_INIT(&tag[0], "link-sec"); |
PAIR_CLASS_INIT(&tag[0], "link-sec"); |
PAIR_HREF_INIT(&tag[1], buf); |
PAIR_HREF_INIT(&tag[1], h->buf); |
|
|
print_otag(h, TAG_I, 1, tag); |
print_otag(h, TAG_I, 1, tag); |
print_otag(h, TAG_A, 2, tag); |
print_otag(h, TAG_A, 2, tag); |
Line 1219 mdoc_bd_pre(MDOC_ARGS) |
|
Line 1219 mdoc_bd_pre(MDOC_ARGS) |
|
SCALE_HS_INIT(&su, 0); |
SCALE_HS_INIT(&su, 0); |
if (n->norm->Bd.offs) |
if (n->norm->Bd.offs) |
a2offs(n->norm->Bd.offs, &su); |
a2offs(n->norm->Bd.offs, &su); |
|
|
|
bufinit(h); |
bufcat_su(h, "margin-left", &su); |
bufcat_su(h, "margin-left", &su); |
PAIR_STYLE_INIT(&tag[0], h); |
PAIR_STYLE_INIT(&tag[0], h); |
|
|
Line 1405 mdoc_fa_pre(MDOC_ARGS) |
|
Line 1406 mdoc_fa_pre(MDOC_ARGS) |
|
static int |
static int |
mdoc_fd_pre(MDOC_ARGS) |
mdoc_fd_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag[2]; |
|
char buf[BUFSIZ]; |
|
size_t sz; |
|
int i; |
|
struct tag *t; |
|
|
synopsis_pre(h, n); |
synopsis_pre(h, n); |
|
|
PAIR_CLASS_INIT(&tag, "macro"); |
if (NULL == (n = n->child)) |
print_otag(h, TAG_B, 1, &tag); |
return(0); |
return(1); |
|
|
assert(MDOC_TEXT == n->type); |
|
|
|
if (strcmp(n->string, "#include")) { |
|
PAIR_CLASS_INIT(&tag[0], "macro"); |
|
print_otag(h, TAG_B, 1, tag); |
|
return(1); |
|
} |
|
|
|
PAIR_CLASS_INIT(&tag[0], "includes"); |
|
print_otag(h, TAG_B, 1, tag); |
|
print_text(h, n->string); |
|
|
|
if (NULL != (n = n->next)) { |
|
assert(MDOC_TEXT == n->type); |
|
strlcpy(buf, '<' == *n->string || '"' == *n->string ? |
|
n->string + 1 : n->string, BUFSIZ); |
|
|
|
sz = strlen(buf); |
|
if (sz && ('>' == buf[sz - 1] || '"' == buf[sz - 1])) |
|
buf[sz - 1] = '\0'; |
|
|
|
PAIR_CLASS_INIT(&tag[0], "link-includes"); |
|
|
|
i = 1; |
|
if (h->base_includes) { |
|
buffmt_includes(h, buf); |
|
PAIR_HREF_INIT(&tag[i], h->buf); |
|
i++; |
|
} |
|
|
|
t = print_otag(h, TAG_A, i, tag); |
|
print_text(h, n->string); |
|
print_tagq(h, t); |
|
|
|
n = n->next; |
|
} |
|
|
|
for ( ; n; n = n->next) { |
|
assert(MDOC_TEXT == n->type); |
|
print_text(h, n->string); |
|
} |
|
|
|
return(0); |
} |
} |
|
|
|
|
Line 1510 mdoc_fn_pre(MDOC_ARGS) |
|
Line 1558 mdoc_fn_pre(MDOC_ARGS) |
|
|
|
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
print_text(h, "("); |
print_text(h, "("); |
|
h->flags |= HTML_NOSPACE; |
|
|
bufinit(h); |
|
PAIR_CLASS_INIT(&tag[0], "farg"); |
PAIR_CLASS_INIT(&tag[0], "farg"); |
|
bufinit(h); |
bufcat_style(h, "white-space", "nowrap"); |
bufcat_style(h, "white-space", "nowrap"); |
PAIR_STYLE_INIT(&tag[1], h); |
PAIR_STYLE_INIT(&tag[1], h); |
|
|
Line 1586 mdoc_sp_pre(MDOC_ARGS) |
|
Line 1635 mdoc_sp_pre(MDOC_ARGS) |
|
SCALE_VS_INIT(&su, 1); |
SCALE_VS_INIT(&su, 1); |
|
|
if (MDOC_sp == n->tok) { |
if (MDOC_sp == n->tok) { |
if (n->child) |
if (NULL != (n = n->child)) |
a2roffsu(n->child->string, &su, SCALE_VS); |
if ( ! a2roffsu(n->string, &su, SCALE_VS)) |
|
SCALE_VS_INIT(&su, atoi(n->string)); |
} else |
} else |
su.scale = 0; |
su.scale = 0; |
|
|
|
bufinit(h); |
bufcat_su(h, "height", &su); |
bufcat_su(h, "height", &su); |
PAIR_STYLE_INIT(&tag, h); |
PAIR_STYLE_INIT(&tag, h); |
print_otag(h, TAG_DIV, 1, &tag); |
print_otag(h, TAG_DIV, 1, &tag); |
Line 1618 mdoc_lk_pre(MDOC_ARGS) |
|
Line 1669 mdoc_lk_pre(MDOC_ARGS) |
|
|
|
print_otag(h, TAG_A, 2, tag); |
print_otag(h, TAG_A, 2, tag); |
|
|
for (n = n->next; n; n = n->next) { |
if (NULL == n->next) |
assert(MDOC_TEXT == n->type); |
|
print_text(h, n->string); |
print_text(h, n->string); |
} |
|
|
|
|
for (n = n->next; n; n = n->next) |
|
print_text(h, n->string); |
|
|
return(0); |
return(0); |
} |
} |
|
|
Line 1727 mdoc_in_pre(MDOC_ARGS) |
|
Line 1779 mdoc_in_pre(MDOC_ARGS) |
|
assert(MDOC_TEXT == n->type); |
assert(MDOC_TEXT == n->type); |
|
|
PAIR_CLASS_INIT(&tag[0], "link-includes"); |
PAIR_CLASS_INIT(&tag[0], "link-includes"); |
bufinit(h); |
|
|
|
i = 1; |
i = 1; |
|
|
if (h->base_includes) { |
if (h->base_includes) { |
buffmt_includes(h, n->string); |
buffmt_includes(h, n->string); |
PAIR_HREF_INIT(&tag[i++], h->buf); |
PAIR_HREF_INIT(&tag[i], h->buf); |
|
i++; |
} |
} |
|
|
t = print_otag(h, TAG_A, i, tag); |
t = print_otag(h, TAG_A, i, tag); |
Line 1868 mdoc_bf_pre(MDOC_ARGS) |
|
Line 1919 mdoc_bf_pre(MDOC_ARGS) |
|
* We want this to be inline-formatted, but needs to be div to |
* We want this to be inline-formatted, but needs to be div to |
* accept block children. |
* accept block children. |
*/ |
*/ |
|
bufinit(h); |
bufcat_style(h, "display", "inline"); |
bufcat_style(h, "display", "inline"); |
SCALE_HS_INIT(&su, 1); |
SCALE_HS_INIT(&su, 1); |
/* Needs a left-margin for spacing. */ |
/* Needs a left-margin for spacing. */ |