]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.css
Clean up memory handling in spawn_pager(), free(3)ing everything
[mandoc.git] / mandoc.css
index 469a38fed5d6ffc0b705fc43ded8cb5472eaa0c6..ceac503a79f63067fb4855a0631008d57894ddf9 100644 (file)
@@ -1,20 +1,39 @@
-/* $Id: mandoc.css,v 1.27 2018/05/21 00:00:37 schwarze Exp $ */
+/* $Id: mandoc.css,v 1.48 2021/03/30 19:26:20 schwarze Exp $ */
 /*
  * Standard style sheet for mandoc(1) -Thtml and man.cgi(8).
+ *
+ * Written by Ingo Schwarze <schwarze@openbsd.org>.
+ * I place this file into the public domain.
+ * Permission to use, copy, modify, and distribute it for any purpose
+ * with or without fee is hereby granted, without any conditions.
  */
 
 /* Global defaults. */
 
-html {         max-width: 100ex; }
-body {         font-family: Helvetica,Arial,sans-serif; }
+html {         max-width: 65em;
+               --bg: #FFFFFF;
+               --fg: #000000; }
+body {         background: var(--bg);
+               color: var(--fg);
+               font-family: Helvetica,Arial,sans-serif; }
+h1 {           font-size: 110%; }
 table {                margin-top: 0em;
-               margin-bottom: 0em; }
-td {           vertical-align: top; }
+               margin-bottom: 0em;
+               border-collapse: collapse; }
+/* Some browsers set border-color in a browser style for tbody,
+ * but not for table, resulting in inconsistent border styling. */
+tbody {                border-color: inherit; }
+tr {           border-color: inherit; }
+td {           vertical-align: top;
+               padding-left: 0.2em;
+               padding-right: 0.2em;
+               border-color: inherit; }
 ul, ol, dl {   margin-top: 0em;
                margin-bottom: 0em; }
 li, dt {       margin-top: 1em; }
+pre {          font-family: inherit; }
 
-a.permalink {  border-bottom: thin dotted;
+.permalink {   border-bottom: thin dotted;
                color: inherit;
                font: inherit;
                text-decoration: inherit; }
@@ -41,7 +60,6 @@ table.head {  width: 100%;
 td.head-vol {  text-align: center; }
 td.head-rtitle {
                text-align: right; }
-div.Nd {       display: inline; }
 
 table.foot {   width: 100%;
                border-top: 1px dotted #808080;
@@ -51,104 +69,117 @@ 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;
+.manual-text {
+               margin-left: 3.8em; }
+.Nd { }
+section.Sh { }
+h1.Sh {                margin-top: 1.2em;
+               margin-bottom: 0.6em;
+               margin-left: -3.2em; }
+section.Ss { }
+h2.Ss {                margin-top: 1.2em;
+               margin-bottom: 0.6em;
+               margin-left: -1.2em;
                font-size: 105%; }
-div.Pp {       margin: 1ex 0ex; }
-a.Sx { }
-a.Xr { }
+.Pp {          margin: 0.6em 0em; }
+.Sx { }
+.Xr { }
 
 /* Displays and lists. */
 
-div.Bd { }
-div.D1 {       margin-left: 5ex; }
+.Bd { }
+.Bd-indent {   margin-left: 3.8em; }
 
-ul.Bl-bullet { list-style-type: disc;
+.Bl-bullet {   list-style-type: disc;
                padding-left: 1em; }
-ul.Bl-bullet > li { }
-ul.Bl-dash {   list-style-type: none;
+.Bl-bullet > li { }
+.Bl-dash {     list-style-type: none;
                padding-left: 0em; }
-ul.Bl-dash > li:before {
+.Bl-dash > li:before {
                content: "\2014  "; }
-ul.Bl-item {   list-style-type: none;
+.Bl-item {     list-style-type: none;
                padding-left: 0em; }
-ul.Bl-item > li { }
-ul.Bl-compact > li {
-               margin-top: 0ex; }
+.Bl-item > li { }
+.Bl-compact > li {
+               margin-top: 0em; }
 
-ol.Bl-enum {   padding-left: 2em; }
-ol.Bl-enum > li { }
-ol.Bl-compact > li {
-               margin-top: 0ex; }
+.Bl-enum {     padding-left: 2em; }
+.Bl-enum > li { }
+.Bl-compact > li {
+               margin-top: 0em; }
 
-dl.Bl-diag { }
-dl.Bl-diag > dt {
+.Bl-diag { }
+.Bl-diag > dt {
                font-style: normal;
                font-weight: bold; }
-dl.Bl-diag > dd {
-               margin-left: 0ex; }
-dl.Bl-hang { }
-dl.Bl-hang > dt { }
-dl.Bl-hang > dd {
-               margin-left: 10.2ex; }
-dl.Bl-inset { }
-dl.Bl-inset > dt { }
-dl.Bl-inset > dd {
-               margin-left: 0ex; }
-dl.Bl-ohang { }
-dl.Bl-ohang > dt { }
-dl.Bl-ohang > dd {
-               margin-left: 0ex; }
-dl.Bl-tag {    margin-left: 10.2ex; }
-dl.Bl-tag > dt {
+.Bl-diag > dd {
+               margin-left: 0em; }
+.Bl-hang { }
+.Bl-hang > dt { }
+.Bl-hang > dd {
+               margin-left: 5.5em; }
+.Bl-inset { }
+.Bl-inset > dt { }
+.Bl-inset > dd {
+               margin-left: 0em; }
+.Bl-ohang { }
+.Bl-ohang > dt { }
+.Bl-ohang > dd {
+               margin-left: 0em; }
+.Bl-tag {      margin-top: 0.6em;
+               margin-left: 5.5em; }
+.Bl-tag > dt {
                float: left;
-               margin-top: 0ex;
-               margin-left: -10.2ex;
-               padding-right: 2ex;
+               margin-top: 0em;
+               margin-left: -5.5em;
+               padding-right: 0.5em;
                vertical-align: top; }
-dl.Bl-tag > dd {
+.Bl-tag > dd {
                clear: right;
+               column-count: 1;  /* Force block formatting context. */
                width: 100%;
-               margin-top: 0ex;
-               margin-left: 0ex;
-               vertical-align: top;
-               overflow: auto; }
-dl.Bl-compact > dt {
-               margin-top: 0ex; }
-
-table.Bl-column { }
-table.Bl-column > tbody > tr { }
-table.Bl-column > tbody > tr > td {
+               margin-top: 0em;
+               margin-left: 0em;
+               margin-bottom: 0.6em;
+               vertical-align: top; }
+.Bl-compact {  margin-top: 0em; }
+.Bl-compact > dd {
+               margin-bottom: 0em; }
+.Bl-compact > dt {
+               margin-top: 0em; }
+
+.Bl-column { }
+.Bl-column > tbody > tr { }
+.Bl-column > tbody > tr > td {
                margin-top: 1em; }
-table.Bl-compact > tbody > tr > td {
-               margin-top: 0ex; }
+.Bl-compact > tbody > tr > td {
+               margin-top: 0em; }
 
-cite.Rs {      font-style: normal;
+.Rs {          font-style: normal;
+               font-weight: normal; }
+.RsA { }
+.RsB {         font-style: italic;
+               font-weight: normal; }
+.RsC { }
+.RsD { }
+.RsI {         font-style: italic;
                font-weight: normal; }
-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 { }
+.RsJ {         font-style: italic;
+               font-weight: normal; }
+.RsN { }
+.RsO { }
+.RsP { }
+.RsQ { }
+.RsR { }
+.RsT {         text-decoration: underline; }
+.RsU { }
+.RsV { }
+
+.eqn { }
+.tbl td {      vertical-align: middle; }
+
+.HP {          margin-left: 3.8em;
+               text-indent: -3.8em; }
 
 /* Semantic markup for command line utilities. */
 
@@ -156,64 +187,66 @@ table.Nm { }
 code.Nm {      font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-code.Fl {      font-style: normal;
+.Fl {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-code.Cm {      font-style: normal;
+.Cm {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-var.Ar {       font-style: italic;
+.Ar {          font-style: italic;
                font-weight: normal; }
-div.Op {       display: inline; }
-code.Ic {      font-style: normal;
+.Op {          display: inline; }
+.Ic {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-code.Ev {      font-style: normal;
+.Ev {          font-style: normal;
                font-weight: normal;
                font-family: monospace; }
-span.Pa {      font-style: italic;
+.Pa {          font-style: italic;
                font-weight: normal; }
 
 /* Semantic markup for function libraries. */
 
-span.Lb { }
+.Lb { }
 code.In {      font-style: normal;
                font-weight: bold;
                font-family: inherit; }
 a.In { }
-code.Fd {      font-style: normal;
+.Fd {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-var.Ft {       font-style: italic;
+.Ft {          font-style: italic;
                font-weight: normal; }
-code.Fn {      font-style: normal;
+.Fn {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-var.Fa {       font-style: italic;
+.Fa {          font-style: italic;
                font-weight: normal; }
-var.Vt {       font-style: italic;
+.Vt {          font-style: italic;
                font-weight: normal; }
-var.Va {       font-style: italic;
+.Va {          font-style: italic;
                font-weight: normal; }
-code.Dv {      font-style: normal;
+.Dv {          font-style: normal;
                font-weight: normal;
                font-family: monospace; }
-code.Er {      font-style: normal;
+.Er {          font-style: normal;
                font-weight: normal;
                font-family: monospace; }
 
 /* Various semantic markup. */
 
-span.An { }
-a.Lk { }
-a.Mt { }
-code.Cd {      font-style: normal;
+.An { }
+.Lk { }
+.Mt { }
+.Cd {          font-style: normal;
                font-weight: bold;
                font-family: inherit; }
-i.Ad {         font-weight: normal; }
-b.Ms {         font-style: normal; }
-span.St { }
-a.Ux { }
+.Ad {          font-style: italic;
+               font-weight: normal; }
+.Ms {          font-style: normal;
+               font-weight: bold; }
+.St { }
+.Ux { }
 
 /* Physical markup. */
 
@@ -227,3 +260,102 @@ a.Ux { }
 .Li {          font-style: normal;
                font-weight: normal;
                font-family: monospace; }
+
+/* Tooltip support. */
+
+h1.Sh, h2.Ss { position: relative; }
+.An, .Ar, .Cd, .Cm, .Dv, .Em, .Er, .Ev, .Fa, .Fd, .Fl, .Fn, .Ft,
+.Ic, code.In, .Lb, .Lk, .Ms, .Mt, .Nd, code.Nm, .Pa, .Rs,
+.St, .Sx, .Sy, .Va, .Vt, .Xr {
+               display: inline-block;
+               position: relative; }
+
+.An::before {  content: "An"; }
+.Ar::before {  content: "Ar"; }
+.Cd::before {  content: "Cd"; }
+.Cm::before {  content: "Cm"; }
+.Dv::before {  content: "Dv"; }
+.Em::before {  content: "Em"; }
+.Er::before {  content: "Er"; }
+.Ev::before {  content: "Ev"; }
+.Fa::before {  content: "Fa"; }
+.Fd::before {  content: "Fd"; }
+.Fl::before {  content: "Fl"; }
+.Fn::before {  content: "Fn"; }
+.Ft::before {  content: "Ft"; }
+.Ic::before {  content: "Ic"; }
+code.In::before { content: "In"; }
+.Lb::before {  content: "Lb"; }
+.Lk::before {  content: "Lk"; }
+.Ms::before {  content: "Ms"; }
+.Mt::before {  content: "Mt"; }
+.Nd::before {  content: "Nd"; }
+code.Nm::before { content: "Nm"; }
+.Pa::before {  content: "Pa"; }
+.Rs::before {  content: "Rs"; }
+h1.Sh::before {        content: "Sh"; }
+h2.Ss::before {        content: "Ss"; }
+.St::before {  content: "St"; }
+.Sx::before {  content: "Sx"; }
+.Sy::before {  content: "Sy"; }
+.Va::before {  content: "Va"; }
+.Vt::before {  content: "Vt"; }
+.Xr::before {  content: "Xr"; }
+
+.An::before, .Ar::before, .Cd::before, .Cm::before,
+.Dv::before, .Em::before, .Er::before, .Ev::before,
+.Fa::before, .Fd::before, .Fl::before, .Fn::before, .Ft::before,
+.Ic::before, code.In::before, .Lb::before, .Lk::before,
+.Ms::before, .Mt::before, .Nd::before, code.Nm::before,
+.Pa::before, .Rs::before,
+h1.Sh::before, h2.Ss::before, .St::before, .Sx::before, .Sy::before,
+.Va::before, .Vt::before, .Xr::before {
+               opacity: 0;
+               transition: .15s ease opacity;
+               pointer-events: none;
+               position: absolute;
+               bottom: 100%;
+               box-shadow: 0 0 .35em var(--fg);
+               padding: .15em .25em;
+               white-space: nowrap;
+               font-family: Helvetica,Arial,sans-serif;
+               font-style: normal;
+               font-weight: bold;
+               background: var(--bg);
+               color: var(--fg); }
+.An:hover::before, .Ar:hover::before, .Cd:hover::before, .Cm:hover::before,
+.Dv:hover::before, .Em:hover::before, .Er:hover::before, .Ev:hover::before,
+.Fa:hover::before, .Fd:hover::before, .Fl:hover::before, .Fn:hover::before,
+.Ft:hover::before, .Ic:hover::before, code.In:hover::before,
+.Lb:hover::before, .Lk:hover::before, .Ms:hover::before, .Mt:hover::before,
+.Nd:hover::before, code.Nm:hover::before, .Pa:hover::before,
+.Rs:hover::before, h1.Sh:hover::before, h2.Ss:hover::before, .St:hover::before,
+.Sx:hover::before, .Sy:hover::before, .Va:hover::before, .Vt:hover::before,
+.Xr:hover::before {
+               opacity: 1;
+               pointer-events: inherit; }
+
+/* Overrides to avoid excessive margins on small devices. */
+
+@media (max-width: 37.5em) {
+.manual-text {
+               margin-left: 0.5em; }
+h1.Sh, h2.Ss { margin-left: 0em; }
+.Bd-indent {   margin-left: 2em; }
+.Bl-hang > dd {
+               margin-left: 2em; }
+.Bl-tag {      margin-left: 2em; }
+.Bl-tag > dt {
+               margin-left: -2em; }
+.HP {          margin-left: 2em;
+               text-indent: -2em; }
+}
+
+/* Overrides for a dark color scheme for accessibility. */
+
+@media (prefers-color-scheme: dark) {
+html {         --bg: #1E1F21;
+               --fg: #EEEFF1; }
+:link {                color: #BAD7FF; }
+:visited {     color: #F6BAFF; }
+}