summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-20 23:51:00 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-20 23:51:00 +0000
commit33d7fd85e17c01d40d41eea4f0fc62ff1f1c74f0 (patch)
tree9f40286dc89ecc9fc034c508543e8700c5d32bec
parent8ffdcc1d064b1e2ad2d427f359ac7fefc67db02b (diff)
downloadmandoc-33d7fd85e17c01d40d41eea4f0fc62ff1f1c74f0.tar.gz
Standardize class attributes for semantic macros.
Correct markup for .Va and iprove markup for .Dv, .Er, .Ev while here.
-rw-r--r--man_html.c4
-rw-r--r--mandoc.css66
-rw-r--r--mdoc_html.c85
3 files changed, 86 insertions, 69 deletions
diff --git a/man_html.c b/man_html.c
index a2c4b1e6..eb4421ae 100644
--- a/man_html.c
+++ b/man_html.c
@@ -517,7 +517,7 @@ man_OP_pre(MAN_ARGS)
print_text(h, "[");
h->flags |= HTML_NOSPACE;
- tt = print_otag(h, TAG_SPAN, "c", "opt");
+ tt = print_otag(h, TAG_SPAN, "c", "Op");
if (NULL != (n = n->child)) {
print_otag(h, TAG_B, "");
@@ -603,7 +603,7 @@ man_UR_pre(MAN_ARGS)
assert(n->type == ROFFT_HEAD);
if (n->child != NULL) {
assert(n->child->type == ROFFT_TEXT);
- print_otag(h, TAG_A, "ch", "link-ext", n->child->string);
+ print_otag(h, TAG_A, "ch", "Lk", n->child->string);
}
assert(n->next->type == ROFFT_BODY);
diff --git a/mandoc.css b/mandoc.css
index eb5824ab..814f14b6 100644
--- a/mandoc.css
+++ b/mandoc.css
@@ -112,6 +112,47 @@ span.RsT { text-decoration: underline; }
a.RsU { }
span.RsV { }
+/* Semantic markup for command line utilities. */
+
+table.Nm { }
+b.Nm { font-style: normal; }
+b.Fl { font-style: normal; }
+b.Cm { font-style: normal; }
+i.Ar { font-weight: normal; }
+span.Op { }
+b.Ic { font-style: normal; }
+code.Ev { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+i.Pa { font-weight: normal; }
+
+/* Semantic markup for function libraries. */
+
+span.Lb { }
+b.In { font-style: normal; }
+a.In { }
+b.Fd { font-style: normal; }
+i.Ft { font-weight: normal; }
+b.Fn { font-style: normal; }
+i.Fa { font-weight: normal; }
+i.Vt { font-weight: normal; }
+i.Va { font-weight: normal; }
+code.Dv { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+code.Er { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+
+/* Various semantic markup. */
+
+span.An { }
+a.Lk { }
+a.Mt { }
+b.Cd { font-style: normal; }
+i.Ad { font-weight: normal; }
+b.Ms { font-style: normal; }
+
/* Fonts. */
.Li { font-style: normal;
@@ -119,8 +160,6 @@ span.RsV { }
font-family: monospace; }
-table.synopsis { } /* SYNOPSIS section table. */
-
/* General font modes. */
i { } /* Italic: BI, IB, I, (implicit). */
@@ -131,34 +170,11 @@ small { } /* Small: SB, SM. */
/* Context-specific modes. */
-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). */
-span.define { } /* Defines (Dv). */
span.desc { } /* Nd. After em-dash. */
-span.env { } /* Environment variables (Ev). */
-span.errno { } /* Error string (Er). */
-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). */
-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). */
-b.name { font-style: normal; } /* Name of utility (Nm). */
-span.opt { } /* Options (Op, Oo/Oc). */
-span.type { font-style: italic; font-weight: normal; } /* Variable types (Vt). */
span.unix { } /* Unices (Ux, Ox, Nx, Fx, Bx, Bsx, Dx). */
b.utility { font-style: normal; } /* Name of utility (Ex). */
b.var { font-style: normal; } /* Variables (Rv). */
-a.link-ext { } /* Off-site link (Lk). */
-a.link-includes { } /* Include-file link (In). */
-a.link-mail { } /* Mailto links (Mt). */
-
/* Equation modes. See eqn(7). */
span.eqn { }
diff --git a/mdoc_html.c b/mdoc_html.c
index 68d3811a..7e205c1f 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -70,6 +70,7 @@ static void mdoc_bk_post(MDOC_ARGS);
static int mdoc_bk_pre(MDOC_ARGS);
static int mdoc_bl_pre(MDOC_ARGS);
static int mdoc_cd_pre(MDOC_ARGS);
+static int mdoc_cm_pre(MDOC_ARGS);
static int mdoc_d1_pre(MDOC_ARGS);
static int mdoc_dv_pre(MDOC_ARGS);
static int mdoc_fa_pre(MDOC_ARGS);
@@ -135,7 +136,7 @@ static const struct htmlmdoc mdocs[MDOC_MAX] = {
{mdoc_an_pre, NULL}, /* An */
{mdoc_ar_pre, NULL}, /* Ar */
{mdoc_cd_pre, NULL}, /* Cd */
- {mdoc_fl_pre, NULL}, /* Cm */
+ {mdoc_cm_pre, NULL}, /* Cm */
{mdoc_dv_pre, NULL}, /* Dv */
{mdoc_er_pre, NULL}, /* Er */
{mdoc_ev_pre, NULL}, /* Ev */
@@ -545,13 +546,7 @@ mdoc_ss_pre(MDOC_ARGS)
static int
mdoc_fl_pre(MDOC_ARGS)
{
- print_otag(h, TAG_B, "c", "flag");
-
- /* `Cm' has no leading hyphen. */
-
- if (MDOC_Cm == n->tok)
- return 1;
-
+ print_otag(h, TAG_B, "c", "Fl");
print_text(h, "\\-");
if (!(n->child == NULL &&
@@ -564,6 +559,13 @@ mdoc_fl_pre(MDOC_ARGS)
}
static int
+mdoc_cm_pre(MDOC_ARGS)
+{
+ print_otag(h, TAG_B, "c", "Cm");
+ return 1;
+}
+
+static int
mdoc_nd_pre(MDOC_ARGS)
{
if (n->type != ROFFT_BODY)
@@ -586,7 +588,7 @@ mdoc_nm_pre(MDOC_ARGS)
print_otag(h, TAG_TD, "");
/* FALLTHROUGH */
case ROFFT_ELEM:
- print_otag(h, TAG_B, "c", "name");
+ print_otag(h, TAG_B, "c", "Nm");
if (n->child == NULL && meta->name != NULL)
print_text(h, meta->name);
return 1;
@@ -598,7 +600,7 @@ mdoc_nm_pre(MDOC_ARGS)
}
synopsis_pre(h, n);
- print_otag(h, TAG_TABLE, "c", "synopsis");
+ print_otag(h, TAG_TABLE, "c", "Nm");
for (len = 0, n = n->head->child; n; n = n->next)
if (n->type == ROFFT_TEXT)
@@ -654,7 +656,7 @@ mdoc_ns_pre(MDOC_ARGS)
static int
mdoc_ar_pre(MDOC_ARGS)
{
- print_otag(h, TAG_I, "c", "arg");
+ print_otag(h, TAG_I, "c", "Ar");
return 1;
}
@@ -991,14 +993,14 @@ mdoc_bd_pre(MDOC_ARGS)
static int
mdoc_pa_pre(MDOC_ARGS)
{
- print_otag(h, TAG_I, "c", "file");
+ print_otag(h, TAG_I, "c", "Pa");
return 1;
}
static int
mdoc_ad_pre(MDOC_ARGS)
{
- print_otag(h, TAG_I, "c", "addr");
+ print_otag(h, TAG_I, "c", "Ad");
return 1;
}
@@ -1022,7 +1024,7 @@ mdoc_an_pre(MDOC_ARGS)
if (n->sec == SEC_AUTHORS && ! (h->flags & HTML_NOSPLIT))
h->flags |= HTML_SPLIT;
- print_otag(h, TAG_SPAN, "c", "author");
+ print_otag(h, TAG_SPAN, "c", "An");
return 1;
}
@@ -1030,28 +1032,28 @@ static int
mdoc_cd_pre(MDOC_ARGS)
{
synopsis_pre(h, n);
- print_otag(h, TAG_B, "c", "config");
+ print_otag(h, TAG_B, "c", "Cd");
return 1;
}
static int
mdoc_dv_pre(MDOC_ARGS)
{
- print_otag(h, TAG_SPAN, "c", "define");
+ print_otag(h, TAG_CODE, "c", "Dv");
return 1;
}
static int
mdoc_ev_pre(MDOC_ARGS)
{
- print_otag(h, TAG_SPAN, "c", "env");
+ print_otag(h, TAG_CODE, "c", "Ev");
return 1;
}
static int
mdoc_er_pre(MDOC_ARGS)
{
- print_otag(h, TAG_SPAN, "c", "errno");
+ print_otag(h, TAG_CODE, "c", "Er");
return 1;
}
@@ -1062,12 +1064,12 @@ mdoc_fa_pre(MDOC_ARGS)
struct tag *t;
if (n->parent->tok != MDOC_Fo) {
- print_otag(h, TAG_I, "c", "farg");
+ print_otag(h, TAG_I, "c", "Fa");
return 1;
}
for (nn = n->child; nn; nn = nn->next) {
- t = print_otag(h, TAG_I, "c", "farg");
+ t = print_otag(h, TAG_I, "c", "Fa");
print_text(h, nn->string);
print_tagq(h, t);
if (nn->next) {
@@ -1098,11 +1100,11 @@ mdoc_fd_pre(MDOC_ARGS)
assert(n->type == ROFFT_TEXT);
if (strcmp(n->string, "#include")) {
- print_otag(h, TAG_B, "c", "macro");
+ print_otag(h, TAG_B, "c", "Fd");
return 1;
}
- print_otag(h, TAG_B, "c", "includes");
+ print_otag(h, TAG_B, "c", "In");
print_text(h, n->string);
if (NULL != (n = n->next)) {
@@ -1116,10 +1118,10 @@ mdoc_fd_pre(MDOC_ARGS)
cp = strchr(buf, '\0') - 1;
if (cp >= buf && (*cp == '>' || *cp == '"'))
*cp = '\0';
- t = print_otag(h, TAG_A, "chI", "link-includes", buf);
+ t = print_otag(h, TAG_A, "chI", "In", buf);
free(buf);
} else
- t = print_otag(h, TAG_A, "c", "link-includes");
+ t = print_otag(h, TAG_A, "c", "In");
print_text(h, n->string);
print_tagq(h, t);
@@ -1146,7 +1148,7 @@ mdoc_vt_pre(MDOC_ARGS)
} else if (n->type == ROFFT_HEAD)
return 0;
- print_otag(h, TAG_SPAN, "c", "type");
+ print_otag(h, TAG_I, "c", "Vt");
return 1;
}
@@ -1154,7 +1156,7 @@ static int
mdoc_ft_pre(MDOC_ARGS)
{
synopsis_pre(h, n);
- print_otag(h, TAG_I, "c", "ftype");
+ print_otag(h, TAG_I, "c", "Ft");
return 1;
}
@@ -1175,7 +1177,7 @@ mdoc_fn_pre(MDOC_ARGS)
ep = strchr(sp, ' ');
if (NULL != ep) {
- t = print_otag(h, TAG_I, "c", "ftype");
+ t = print_otag(h, TAG_I, "c", "Ft");
while (ep) {
sz = MIN((int)(ep - sp), BUFSIZ - 1);
@@ -1188,7 +1190,7 @@ mdoc_fn_pre(MDOC_ARGS)
print_tagq(h, t);
}
- t = print_otag(h, TAG_B, "c", "fname");
+ t = print_otag(h, TAG_B, "c", "Fn");
if (sp)
print_text(h, sp);
@@ -1201,10 +1203,10 @@ mdoc_fn_pre(MDOC_ARGS)
for (n = n->child->next; n; n = n->next) {
if (NODE_SYNPRETTY & n->flags)
- t = print_otag(h, TAG_I, "css?", "farg",
+ t = print_otag(h, TAG_I, "css?", "Fa",
"white-space", "nowrap");
else
- t = print_otag(h, TAG_I, "c", "farg");
+ t = print_otag(h, TAG_I, "c", "Fa");
print_text(h, n->string);
print_tagq(h, t);
if (n->next) {
@@ -1290,7 +1292,7 @@ mdoc_lk_pre(MDOC_ARGS)
assert(n->type == ROFFT_TEXT);
- print_otag(h, TAG_A, "ch", "link-ext", n->string);
+ print_otag(h, TAG_A, "ch", "Lk", n->string);
if (NULL == n->next)
print_text(h, n->string);
@@ -1311,7 +1313,7 @@ mdoc_mt_pre(MDOC_ARGS)
assert(n->type == ROFFT_TEXT);
mandoc_asprintf(&cp, "mailto:%s", n->string);
- t = print_otag(h, TAG_A, "ch", "link-mail", cp);
+ t = print_otag(h, TAG_A, "ch", "Mt", cp);
print_text(h, n->string);
print_tagq(h, t);
free(cp);
@@ -1339,7 +1341,7 @@ mdoc_fo_pre(MDOC_ARGS)
return 0;
assert(n->child->string);
- t = print_otag(h, TAG_B, "c", "fname");
+ t = print_otag(h, TAG_B, "c", "Fn");
print_text(h, n->child->string);
print_tagq(h, t);
return 0;
@@ -1363,7 +1365,7 @@ mdoc_in_pre(MDOC_ARGS)
struct tag *t;
synopsis_pre(h, n);
- print_otag(h, TAG_B, "c", "includes");
+ print_otag(h, TAG_B, "c", "In");
/*
* The first argument of the `In' gets special treatment as
@@ -1382,10 +1384,9 @@ mdoc_in_pre(MDOC_ARGS)
assert(n->type == ROFFT_TEXT);
if (h->base_includes)
- t = print_otag(h, TAG_A, "chI", "link-includes",
- n->string);
+ t = print_otag(h, TAG_A, "chI", "In", n->string);
else
- t = print_otag(h, TAG_A, "c", "link-includes");
+ t = print_otag(h, TAG_A, "c", "In");
print_text(h, n->string);
print_tagq(h, t);
@@ -1406,14 +1407,14 @@ mdoc_in_pre(MDOC_ARGS)
static int
mdoc_ic_pre(MDOC_ARGS)
{
- print_otag(h, TAG_B, "c", "cmd");
+ print_otag(h, TAG_B, "c", "Ic");
return 1;
}
static int
mdoc_va_pre(MDOC_ARGS)
{
- print_otag(h, TAG_B, "c", "var");
+ print_otag(h, TAG_I, "c", "Va");
return 1;
}
@@ -1458,7 +1459,7 @@ mdoc_bf_pre(MDOC_ARGS)
static int
mdoc_ms_pre(MDOC_ARGS)
{
- print_otag(h, TAG_SPAN, "c", "symb");
+ print_otag(h, TAG_B, "c", "Ms");
return 1;
}
@@ -1518,7 +1519,7 @@ mdoc_lb_pre(MDOC_ARGS)
if (SEC_LIBRARY == n->sec && NODE_LINE & n->flags && n->prev)
print_otag(h, TAG_BR, "");
- print_otag(h, TAG_SPAN, "c", "lib");
+ print_otag(h, TAG_SPAN, "c", "Lb");
return 1;
}
@@ -1657,7 +1658,7 @@ mdoc_quote_pre(MDOC_ARGS)
case MDOC_Op:
print_text(h, "\\(lB");
h->flags |= HTML_NOSPACE;
- print_otag(h, TAG_SPAN, "c", "opt");
+ print_otag(h, TAG_SPAN, "c", "Op");
break;
case MDOC_En:
if (NULL == n->norm->Es ||