aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-12-20 13:07:55 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-12-20 13:07:55 +0000
commitd3f002ad84f44a7717764962a751ed671da56950 (patch)
tree3074276927f0849c2acb085d1d65cac63004cd90
parentf42a91b55dfcddcdd77e9ff190a164c0bd531eb5 (diff)
downloadmandoc-d3f002ad84f44a7717764962a751ed671da56950.tar.gz
mandoc-d3f002ad84f44a7717764962a751ed671da56950.tar.zst
mandoc-d3f002ad84f44a7717764962a751ed671da56950.zip
More use default tags, this time I and U. Also fix a stack overflow
segfault in the last commit.
-rw-r--r--example.style.css29
-rw-r--r--html.c4
-rw-r--r--html.h4
-rw-r--r--mdoc_html.c29
4 files changed, 41 insertions, 25 deletions
diff --git a/example.style.css b/example.style.css
index 3527b560..10212055 100644
--- a/example.style.css
+++ b/example.style.css
@@ -1,4 +1,9 @@
-/* $Id: example.style.css,v 1.35 2010/12/20 10:40:11 kristaps Exp $ */
+/* $Id: example.style.css,v 1.36 2010/12/20 13:07:55 kristaps Exp $ */
+
+/*
+ * This default style-sheet mimics the appearance of the traditional
+ * cvsweb output.
+ */
html { min-width: 580px; width: 580px; }
body { font-family: monospace; }
@@ -30,7 +35,7 @@ table { margin-top: 0px; margin-bottom: 0px; }
/* General font modes. */
-.lit { font-style: normal; font-weight: normal; } /* Literal: Dl, Li, Bf -literal, Bl -literal, Bl -unfilled. */
+.lit { font-style: normal; font-weight: normal; font-family: monospace; } /* Literal: Dl, Li, Bf -literal, Bl -literal, Bl -unfilled. */
.italic { font-style: italic; font-weight: normal; } /* Italic: BI, IB, I, (implicit). */
.emph { font-style: italic; font-weight: normal; } /* Emphasis: Em, Bl -emphasis. */
.bold { font-style: normal; font-weight: bold; } /* Bold: SB, BI, IB, BR, RB, B, (implicit). */
@@ -45,8 +50,8 @@ table { margin-top: 0px; margin-bottom: 0px; }
/* Context-specific modes. */
-span.addr { font-style: italic; font-weight: normal; } /* Address (Ad). */
-span.arg { font-style: italic; font-weight: normal; } /* Command argument (Ar). */
+i.addr { font-weight: normal; } /* Address (Ad). */
+i.arg { font-weight: normal; } /* Command argument (Ar). */
span.author { } /* Author name (An). */
b.cmd { font-style: normal; } /* Command (Cm). */
b.config { font-style: normal; } /* Config statement (Cd). */
@@ -55,11 +60,11 @@ span.desc { } /* Nd. After em-dash. */
span.diag { font-style: normal; font-weight: bold; } /* Diagnostic (Bl -diag). */
span.env { } /* Environment variables (Ev). */
span.errno { } /* Error string (Er). */
-span.farg { font-style: italic; font-weight: normal; } /* Function argument (Fa, Fn). */
-span.file { font-style: italic; font-weight: normal; } /* File (Pa). */
+i.farg { font-weight: normal; } /* Function argument (Fa, Fn). */
+i.file { font-weight: normal; } /* File (Pa). */
b.flag { font-style: normal; } /* Flag (Fl, Cm). */
b.fname { font-style: normal; } /* Function name (Fa, Fn, Rv). */
-span.ftype { font-style: italic; font-weight: normal; } /* Function types (Ft, Fn). */
+i.ftype { font-weight: normal; } /* Function types (Ft, Fn). */
b.includes { font-style: normal; } /* Header includes (In). */
span.lib { } /* Library (Lb). */
b.macro { font-style: normal; } /* Macro-ish thing (Fd). */
@@ -67,17 +72,17 @@ b.name { font-style: normal; } /* Name of utility (Nm). */
span.opt { } /* Options (Op, Oo/Oc). */
span.ref { } /* Citations (Rs). */
span.ref-auth { } /* Reference author (%A). */
-span.ref-book { font-style: italic; font-weight: normal; } /* Reference book (%B). */
+i.ref-book { font-weight: normal; } /* Reference book (%B). */
span.ref-city { } /* Reference city (%C). */
span.ref-date { } /* Reference date (%D). */
-span.ref-issue { font-style: italic; font-weight: normal; } /* Reference issuer/publisher (%I). */
-span.ref-jrnl { font-style: italic; font-weight: normal; } /* Reference journal (%J). */
+i.ref-issue { font-weight: normal; } /* Reference issuer/publisher (%I). */
+i.ref-jrnl { font-weight: normal; } /* Reference journal (%J). */
span.ref-num { } /* Reference number (%N). */
span.ref-opt { } /* Reference optionals (%O). */
span.ref-page { } /* Reference page (%P). */
span.ref-corp { } /* Reference corporate/foreign author (%Q). */
span.ref-rep { } /* Reference report (%R). */
-span.ref-title { text-decoration: underline; } /* Reference title (%T). */
+u.ref-title { } /* Reference title (%T). */
span.ref-vol { } /* Reference volume (%V). */
span.type { font-style: italic; font-weight: normal; } /* Variable types (Vt). */
span.unix { } /* Unices (Ux, Ox, Nx, Fx, Bx, Bsx, Dx). */
@@ -89,7 +94,7 @@ a.link-includes { } /* Include-file link (In). */
a.link-mail { } /* Mailto links (Mt). */
a.link-man { } /* Manual links (Xr). */
a.link-ref { } /* Reference section links (%Q). */
-a.link-sec { } /* Section links (Sx). */
+a.link-sec { font-style: italic; font-weight: normal; } /* Section links (Sx). */
/* Formatting for lists. */
diff --git a/html.c b/html.c
index 99a5344e..41fb81d7 100644
--- a/html.c
+++ b/html.c
@@ -1,4 +1,4 @@
-/* $Id: html.c,v 1.119 2010/12/20 10:40:11 kristaps Exp $ */
+/* $Id: html.c,v 1.120 2010/12/20 13:07:55 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -71,6 +71,8 @@ static const struct htmldata htmltags[TAG_MAX] = {
{"p", HTML_CLRLINE | HTML_NOSTACK | HTML_AUTOCLOSE}, /* TAG_P */
{"pre", HTML_CLRLINE }, /* TAG_PRE */
{"b", 0 }, /* TAG_B */
+ {"i", 0 }, /* TAG_I */
+ {"u", 0 }, /* TAG_U */
};
static const char *const htmlfonts[HTMLFONT_MAX] = {
diff --git a/html.h b/html.h
index 960fb27c..f4b98fe8 100644
--- a/html.h
+++ b/html.h
@@ -1,4 +1,4 @@
-/* $Id: html.h,v 1.32 2010/12/20 10:40:11 kristaps Exp $ */
+/* $Id: html.h,v 1.33 2010/12/20 13:07:55 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -47,6 +47,8 @@ enum htmltag {
TAG_P,
TAG_PRE,
TAG_B,
+ TAG_I,
+ TAG_U,
TAG_MAX
};
diff --git a/mdoc_html.c b/mdoc_html.c
index 9f392a9b..739d62ab 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_html.c,v 1.132 2010/12/20 10:40:11 kristaps Exp $ */
+/* $Id: mdoc_html.c,v 1.133 2010/12/20 13:07:55 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -471,7 +471,7 @@ mdoc_root_post(MDOC_ARGS)
PAIR_CLASS_INIT(&tag[1], "foot");
if (NULL == h->style) {
PAIR_INIT(&tag[1], ATTR_WIDTH, "100%");
- t = print_otag(h, TAG_TABLE, 3, tag);
+ t = print_otag(h, TAG_TABLE, 2, tag);
PAIR_INIT(&tag[0], ATTR_WIDTH, "50%");
print_otag(h, TAG_COL, 1, tag);
print_otag(h, TAG_COL, 1, tag);
@@ -763,7 +763,7 @@ mdoc_ar_pre(MDOC_ARGS)
struct htmlpair tag;
PAIR_CLASS_INIT(&tag, "arg");
- print_otag(h, TAG_SPAN, 1, &tag);
+ print_otag(h, TAG_I, 1, &tag);
return(1);
}
@@ -1220,7 +1220,7 @@ mdoc_pa_pre(MDOC_ARGS)
struct htmlpair tag;
PAIR_CLASS_INIT(&tag, "file");
- print_otag(h, TAG_SPAN, 1, &tag);
+ print_otag(h, TAG_I, 1, &tag);
return(1);
}
@@ -1232,7 +1232,7 @@ mdoc_ad_pre(MDOC_ARGS)
struct htmlpair tag;
PAIR_CLASS_INIT(&tag, "addr");
- print_otag(h, TAG_SPAN, 1, &tag);
+ print_otag(h, TAG_I, 1, &tag);
return(1);
}
@@ -1310,12 +1310,12 @@ mdoc_fa_pre(MDOC_ARGS)
PAIR_CLASS_INIT(&tag, "farg");
if (n->parent->tok != MDOC_Fo) {
- print_otag(h, TAG_SPAN, 1, &tag);
+ print_otag(h, TAG_I, 1, &tag);
return(1);
}
for (nn = n->child; nn; nn = nn->next) {
- t = print_otag(h, TAG_SPAN, 1, &tag);
+ t = print_otag(h, TAG_I, 1, &tag);
print_text(h, nn->string);
print_tagq(h, t);
if (nn->next)
@@ -1371,7 +1371,7 @@ mdoc_ft_pre(MDOC_ARGS)
synopsis_pre(h, n);
PAIR_CLASS_INIT(&tag, "ftype");
- print_otag(h, TAG_SPAN, 1, &tag);
+ print_otag(h, TAG_I, 1, &tag);
return(1);
}
@@ -1396,7 +1396,7 @@ mdoc_fn_pre(MDOC_ARGS)
ep = strchr(sp, ' ');
if (NULL != ep) {
PAIR_CLASS_INIT(&tag[0], "ftype");
- t = print_otag(h, TAG_SPAN, 1, tag);
+ t = print_otag(h, TAG_I, 1, tag);
while (ep) {
sz = MIN((int)(ep - sp), BUFSIZ - 1);
@@ -1448,7 +1448,7 @@ mdoc_fn_pre(MDOC_ARGS)
i = 1;
if (MDOC_SYNPRETTY & n->flags)
i = 2;
- t = print_otag(h, TAG_SPAN, i, tag);
+ t = print_otag(h, TAG_I, i, tag);
print_text(h, nn->string);
print_tagq(h, t);
if (nn->next)
@@ -1886,6 +1886,9 @@ static int
mdoc__x_pre(MDOC_ARGS)
{
struct htmlpair tag[2];
+ enum htmltag t;
+
+ t = TAG_SPAN;
switch (n->tok) {
case(MDOC__A):
@@ -1896,6 +1899,7 @@ mdoc__x_pre(MDOC_ARGS)
break;
case(MDOC__B):
PAIR_CLASS_INIT(&tag[0], "ref-book");
+ t = TAG_I;
break;
case(MDOC__C):
PAIR_CLASS_INIT(&tag[0], "ref-city");
@@ -1905,9 +1909,11 @@ mdoc__x_pre(MDOC_ARGS)
break;
case(MDOC__I):
PAIR_CLASS_INIT(&tag[0], "ref-issue");
+ t = TAG_I;
break;
case(MDOC__J):
PAIR_CLASS_INIT(&tag[0], "ref-jrnl");
+ t = TAG_I;
break;
case(MDOC__N):
PAIR_CLASS_INIT(&tag[0], "ref-num");
@@ -1926,6 +1932,7 @@ mdoc__x_pre(MDOC_ARGS)
break;
case(MDOC__T):
PAIR_CLASS_INIT(&tag[0], "ref-title");
+ t = TAG_U;
break;
case(MDOC__U):
PAIR_CLASS_INIT(&tag[0], "link-ref");
@@ -1939,7 +1946,7 @@ mdoc__x_pre(MDOC_ARGS)
}
if (MDOC__U != n->tok) {
- print_otag(h, TAG_SPAN, 1, tag);
+ print_otag(h, t, 1, tag);
return(1);
}