version 1.16, 2009/10/03 15:08:09 |
version 1.17, 2009/10/03 15:26:26 |
Line 56 static int a2list(const struct mdoc_node *); |
|
Line 56 static int a2list(const struct mdoc_node *); |
|
|
|
static void buffmt_man(struct html *, |
static void buffmt_man(struct html *, |
const char *, const char *); |
const char *, const char *); |
|
static void buffmt_includes(struct html *, const char *); |
static void buffmt(struct html *, const char *, ...); |
static void buffmt(struct html *, const char *, ...); |
static void bufcat(struct html *, const char *); |
static void bufcat(struct html *, const char *); |
static void bufncat(struct html *, const char *, size_t); |
static void bufncat(struct html *, const char *, size_t); |
Line 326 bufncat(struct html *h, const char *p, size_t sz) |
|
Line 327 bufncat(struct html *h, const char *p, size_t sz) |
|
|
|
|
|
static void |
static void |
|
buffmt_includes(struct html *h, const char *name) |
|
{ |
|
const char *p, *pp; |
|
|
|
pp = h->base_includes; |
|
while ((p = strchr(pp, '%'))) { |
|
bufncat(h, pp, p - pp); |
|
switch (*(p + 1)) { |
|
case('I'): |
|
bufcat(h, name); |
|
break; |
|
default: |
|
bufncat(h, p, 2); |
|
break; |
|
} |
|
pp = p + 2; |
|
} |
|
if (pp) |
|
bufcat(h, pp); |
|
} |
|
|
|
|
|
static void |
buffmt_man(struct html *h, |
buffmt_man(struct html *h, |
const char *name, const char *sec) |
const char *name, const char *sec) |
{ |
{ |
const char *p, *pp; |
const char *p, *pp; |
|
|
pp = h->base_man; |
pp = h->base_man; |
|
|
/* FIXME: URL-encode contents. */ |
|
|
|
while ((p = strchr(pp, '%'))) { |
while ((p = strchr(pp, '%'))) { |
bufncat(h, pp, p - pp); |
bufncat(h, pp, p - pp); |
switch (*(p + 1)) { |
switch (*(p + 1)) { |
Line 829 mdoc_xr_pre(MDOC_ARGS) |
|
Line 850 mdoc_xr_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag[2]; |
struct htmlpair tag[2]; |
const struct mdoc_node *nn; |
const struct mdoc_node *nn; |
|
int i; |
|
|
buffmt_man(h, n->child->string, |
i = 0; |
n->child->next ? |
tag[i].key = ATTR_CLASS; |
n->child->next->string : NULL); |
tag[i++].val = "link-man"; |
|
|
tag[0].key = ATTR_CLASS; |
if (h->base_man) { |
tag[0].val = "link-man"; |
buffmt_man(h, n->child->string, n->child->next ? |
tag[1].key = ATTR_HREF; |
n->child->next->string : NULL); |
tag[1].val = h->buf; |
tag[i].key = ATTR_HREF; |
print_otag(h, TAG_A, 2, tag); |
tag[i++].val = h->buf; |
|
} |
|
|
|
print_otag(h, TAG_A, i, tag); |
|
|
nn = n->child; |
nn = n->child; |
print_text(h, nn->string); |
print_text(h, nn->string); |
|
|
Line 1350 mdoc_d1_pre(MDOC_ARGS) |
|
Line 1375 mdoc_d1_pre(MDOC_ARGS) |
|
static int |
static int |
mdoc_sx_pre(MDOC_ARGS) |
mdoc_sx_pre(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag[2]; |
struct htmlpair tag[3]; |
const struct mdoc_node *nn; |
const struct mdoc_node *nn; |
|
|
bufcat(h, "#"); |
bufcat(h, "#"); |
Line 1364 mdoc_sx_pre(MDOC_ARGS) |
|
Line 1389 mdoc_sx_pre(MDOC_ARGS) |
|
tag[0].val = h->buf; |
tag[0].val = h->buf; |
tag[1].key = ATTR_CLASS; |
tag[1].key = ATTR_CLASS; |
tag[1].val = "link-sec"; |
tag[1].val = "link-sec"; |
|
tag[2].key = ATTR_TARGET; |
|
tag[2].val = "_self"; |
|
|
print_otag(h, TAG_A, 2, tag); |
print_otag(h, TAG_A, 3, tag); |
return(1); |
return(1); |
} |
} |
|
|
|
|
mdoc_in_pre(MDOC_ARGS) |
mdoc_in_pre(MDOC_ARGS) |
{ |
{ |
const struct mdoc_node *nn; |
const struct mdoc_node *nn; |
struct htmlpair tag; |
struct htmlpair tag[2]; |
|
struct tag *t; |
|
int i; |
|
|
if (SEC_SYNOPSIS == n->sec) { |
if (SEC_SYNOPSIS == n->sec) { |
if (n->next && MDOC_In != n->next->tok) { |
if (n->next && MDOC_In != n->next->tok) { |
tag.key = ATTR_STYLE; |
tag[0].key = ATTR_STYLE; |
tag.val = "margin-bottom: 1em;"; |
tag[0].val = "margin-bottom: 1em;"; |
print_otag(h, TAG_DIV, 1, &tag); |
print_otag(h, TAG_DIV, 1, tag); |
} else |
} else |
print_otag(h, TAG_DIV, 0, NULL); |
print_otag(h, TAG_DIV, 0, NULL); |
} |
} |
|
|
tag.key = ATTR_CLASS; |
tag[0].key = ATTR_CLASS; |
tag.val = "includes"; |
tag[0].val = "includes"; |
|
|
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, tag); |
|
|
if (SEC_SYNOPSIS == n->sec) |
if (SEC_SYNOPSIS == n->sec) |
print_text(h, "#include"); |
print_text(h, "#include"); |
Line 1920 mdoc_in_pre(MDOC_ARGS) |
|
Line 1949 mdoc_in_pre(MDOC_ARGS) |
|
|
|
/* XXX -- see warning in termp_in_post(). */ |
/* XXX -- see warning in termp_in_post(). */ |
|
|
for (nn = n->child; nn; nn = nn->next) |
for (nn = n->child; nn; nn = nn->next) { |
|
assert(MDOC_TEXT == nn->type); |
|
i = 0; |
|
tag[i].key = ATTR_CLASS; |
|
tag[i++].val = "link-includes"; |
|
if (h->base_includes) { |
|
buffmt_includes(h, nn->string); |
|
tag[i].key = ATTR_HREF; |
|
tag[i++].val = h->buf; |
|
} |
|
t = print_otag(h, TAG_A, i, tag); |
print_mdoc_node(m, nn, h); |
print_mdoc_node(m, nn, h); |
|
print_tagq(h, t); |
|
} |
|
|
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
print_text(h, ">"); |
print_text(h, ">"); |