[BACK]Return to mandoc.css CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

File: [cvsweb.bsd.lv] / mandoc / mandoc.css (download)

Revision 1.14, Wed Jan 25 02:14:43 2017 UTC (7 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.13: +13 -4 lines

Improve HTML formatting of .Bl -tag.

In particular, when using the style sheet, put the body on the same
line as the head for short heads, or on the next line for long
heads, in a way that preserves both correct indentation and correct
vertical spacing with and without -compact, and with one or more
heads per body (hi, Zaphod) - eight use cases so far - and with and
without -tag, and with and without -offset, 32 use cases grand total.

Using many ideas from zhuk@, from <David dot Dahlberg at fkie dot
fraunhofer dot de>, and from Benny Lofgren <bl dash lists at lofgren
dot biz>, and a few of my own.

This is an excellent demonstration that CSS is an extremely hostile
language, much more trapful and much harder to use than, say, C.
When matthew@ reported this in July 2014 (!), it was already a known
issue, and i no longer remember for how long.  My first serious
attempt at fixing it (in November 2015) failed miserably.  I'd love
to see simplifications of both the generated HTML code and of the
style sheet, but without breaking any of the 32 use cases, please.

/* $Id: mandoc.css,v 1.14 2017/01/25 02:14:43 schwarze Exp $ */
/*
 * Standard style sheet for mandoc(1) -Thtml and man.cgi(8).
 */

/* Global defaults. */

html {		max-width: 100ex; }
body {		font-family: Helvetica,Arial,sans-serif; }
table {		margin-top: 0em;
		margin-bottom: 0em; }
td {		vertical-align: top; }
ul, ol, dl {	margin-top: 0em;
		margin-bottom: 0em; }
li, dt {	margin-top: 1em; }

/* Search form and search results. */

fieldset {	border: thin solid silver;
		border-radius: 1em;
		text-align: center; }
input[name=expr] {
		width: 25%; }

table.results {	margin-top: 1em;
		margin-left: 2em;
		font-size: smaller; }

/* Header and footer lines. */

table.head {	width: 100%;
		border-bottom: 1px dotted #808080;
		margin-bottom: 1em;
		font-size: smaller; }
td.head-vol {	text-align: center; }
td.head-rtitle {
		text-align: right; }
span.Nd { }

table.foot {	width: 100%;
		border-top: 1px dotted #808080;
		margin-top: 1em;
		font-size: smaller; }
td.foot-os {	text-align: right; }

/* Sections and paragraphs. */

div.manual-text {
		margin-left: 5ex; }
h1.Sh {		margin-top: 2ex;
		margin-bottom: 1ex;
		margin-left: -4ex;
		font-size: 110%; }
h2.Ss {		margin-top: 2ex;
		margin-bottom: 1ex;
		margin-left: -2ex;
		font-size: 105%; }
div.Pp {	margin: 1ex 0ex; }
a.Sx { }
a.Xr { }

/* Displays and lists. */

div.Bd { }
div.D1 {	margin-left: 5ex; }

ul.Bl-bullet {	list-style-type: disc;
		padding-left: 1em; }
li.It-bullet { }
ul.Bl-dash {	list-style-type: none;
		padding-left: 0em; }
li.It-dash:before {
		content: "\2014  "; }
ul.Bl-item {	list-style-type: none;
		padding-left: 0em; }
li.It-item { }

ol.Bl-enum {	padding-left: 2em; }
li.It-enum { }

dl.Bl-diag { }
dt.It-diag { }
dd.It-diag { }
b.It-diag {	font-style: normal; }
dl.Bl-hang { }
dt.It-hang { }
dd.It-hang { }
dl.Bl-inset { }
dt.It-inset { }
dd.It-inset { }
dl.Bl-ohang { }
dt.It-ohang { }
dd.It-ohang {	margin-left: 0ex; }
dl.Bl-tag {	margin-left: 8ex; }
dt.It-tag {	float: left;
		clear: both;
		margin-top: 0ex;
		margin-left: -8ex;
		padding-right: 2ex;
		vertical-align: top; }
dd.It-tag {	width: 100%;
		margin-top: 0ex;
		margin-left: 0ex;
		vertical-align: top;
		overflow: auto; }

table.Bl-column { }
tr.It-column { }
td.It-column {	margin-top: 1em; }

span.Rs	{ }
span.RsA { }
i.RsB {		font-weight: normal; }
span.RsC { }
span.RsD { }
i.RsI {		font-weight: normal; }
i.RsJ {		font-weight: normal; }
span.RsN { }
span.RsO { }
span.RsP { }
span.RsQ { }
span.RsR { }
span.RsT {	text-decoration: underline; }
a.RsU { }
span.RsV { }

span.eqn { }
table.tbl { }

/* 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; }
a.Ux { }

/* Physical markup. */

.No {		font-style: normal;
		font-weight: normal; }
.Em {		font-style: italic;
		font-weight: normal; }
.Sy {		font-style: normal;
		font-weight: bold; }
.Li {		font-style: normal;
		font-weight: normal;
		font-family: monospace; }