From f16f2caba7e516ba5a7e78f14be35a9e066c3fea Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 31 Mar 2025 00:56:53 +0800 Subject: Mandoc more --- Makefile | 7 +- http_server.go | 3 + man/.gitignore | 1 + man/mandoc.css | 369 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ resources.go | 10 +- static/mandoc.css | 369 ------------------------------------------------------ 6 files changed, 386 insertions(+), 373 deletions(-) create mode 100644 man/mandoc.css delete mode 100644 static/mandoc.css diff --git a/Makefile b/Makefile index e4a0743..0171a2c 100644 --- a/Makefile +++ b/Makefile @@ -10,10 +10,13 @@ forge: version.go hookc/*.c hookc/hookc man # TODO go mod vendor go build . -man: $(MAN_PAGES:%=man/%.html) +man: $(MAN_PAGES:%=man/%.html) $(MAN_PAGES:%=man/%.txt) man/%.html: man/% - mandoc -Thtml -O style=static/mandoc.css $< > $@ + mandoc -Thtml -O style=./mandoc.css $< > $@ + +man/%.txt: man/% + mandoc $< | col -b > $@ hookc/hookc: diff --git a/http_server.go b/http_server.go index de78650..24be7e4 100644 --- a/http_server.go +++ b/http_server.go @@ -75,6 +75,9 @@ func (router *forgeHTTPRouter) ServeHTTP(writer http.ResponseWriter, request *ht } switch segments[1] { + case "man": + manHandler.ServeHTTP(writer, request) + return case "static": staticHandler.ServeHTTP(writer, request) return diff --git a/man/.gitignore b/man/.gitignore index 9b61c8c..44e13d5 100644 --- a/man/.gitignore +++ b/man/.gitignore @@ -1 +1,2 @@ /*.html +/*.txt diff --git a/man/mandoc.css b/man/mandoc.css new file mode 100644 index 0000000..a2c5ae4 --- /dev/null +++ b/man/mandoc.css @@ -0,0 +1,369 @@ +/* $OpenBSD: mandoc.css,v 1.41 2025/01/25 03:17:11 schwarze Exp $ */ +/* + * Standard style sheet for mandoc(1) -Thtml and man.cgi(8). + * + * Written by Ingo Schwarze . + * 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: 65em; + --bg: #FFFFFF; + --fg: #000000; } +body { background: var(--bg); + color: var(--fg); + font-family: Helvetica,Arial,sans-serif; } +h1, h2 { font-size: 110%; } +table { margin-top: 0em; + 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; } + +.permalink { border-bottom: thin dotted; + color: inherit; + font: inherit; + text-decoration: inherit; } +* { clear: both } + +/* 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. */ + +div[role=doc-pageheader] { + display: flex; + border-bottom: 1px dotted #808080; + margin-bottom: 1em; + font-size: smaller; } +.head-ltitle { flex: 1; } +.head-vol { flex: 0 1 auto; + text-align: center; } +.head-rtitle { flex: 1; + text-align: right; } + +div[role=doc-pagefooter] { + display: flex; + justify-content: space-between; + border-top: 1px dotted #808080; + margin-top: 1em; + font-size: smaller; } +.foot-left { flex: 1; } +.foot-date { flex: 0 1 auto; + text-align: center; } +.foot-os { flex: 1; + text-align: right; } + +/* Sections and paragraphs. */ + +main { margin-left: 3.8em; } +.Nd { } +section.Sh { } +h2.Sh { margin-top: 1.2em; + margin-bottom: 0.6em; + margin-left: -3.2em; } +section.Ss { } +h3.Ss { margin-top: 1.2em; + margin-bottom: 0.6em; + margin-left: -1.2em; + font-size: 105%; } +.Pp { margin: 0.6em 0em; } +.Sx { } +.Xr { } + +/* Displays and lists. */ + +.Bd { } +.Bd-indent { margin-left: 3.8em; } + +.Bl-bullet { list-style-type: disc; + padding-left: 1em; } +.Bl-bullet > li { } +.Bl-dash { list-style-type: none; + padding-left: 0em; } +.Bl-dash > li:before { + content: "\2014 "; } +.Bl-item { list-style-type: none; + padding-left: 0em; } +.Bl-item > li { } +.Bl-compact > li { + margin-top: 0em; } + +.Bl-enum { padding-left: 2em; } +.Bl-enum > li { } +.Bl-compact > li { + margin-top: 0em; } + +.Bl-diag { } +.Bl-diag > dt { + font-style: normal; + font-weight: bold; } +.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: 0em; + margin-left: -5.5em; + padding-right: 0.5em; + vertical-align: top; } +.Bl-tag > dd { + clear: right; + column-count: 1; /* Force block formatting context. */ + width: 100%; + 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; } +.Bl-compact > tbody > tr > td { + margin-top: 0em; } + +.Rs { font-style: normal; + font-weight: normal; } +.RsA { } +.RsB { font-style: italic; + font-weight: normal; } +.RsC { } +.RsD { } +.RsI { font-style: italic; + font-weight: normal; } +.RsJ { font-style: italic; + font-weight: normal; } +.RsN { } +.RsO { } +.RsP { } +.RsQ { } +.RsR { } +.RsT { font-style: normal; + font-weight: normal; } +.RsU { } +.RsV { } + +.eqn { } +.tbl td { vertical-align: middle; } + +.HP { margin-left: 3.8em; + text-indent: -3.8em; } + +/* Semantic markup for command line utilities. */ + +table.Nm { } +code.Nm { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Fl { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Cm { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ar { font-style: italic; + font-weight: normal; } +.Op { display: inline flow; } +.Ic { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ev { font-style: normal; + font-weight: normal; + font-family: monospace; } +.Pa { font-style: italic; + font-weight: normal; } + +/* Semantic markup for function libraries. */ + +.Lb { } +code.In { font-style: normal; + font-weight: bold; + font-family: inherit; } +a.In { } +.Fd { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ft { font-style: italic; + font-weight: normal; } +.Fn { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Fa { font-style: italic; + font-weight: normal; } +.Vt { font-style: italic; + font-weight: normal; } +.Va { font-style: italic; + font-weight: normal; } +.Dv { font-style: normal; + font-weight: normal; + font-family: monospace; } +.Er { font-style: normal; + font-weight: normal; + font-family: monospace; } + +/* Various semantic markup. */ + +.An { } +.Lk { } +.Mt { } +.Cd { font-style: normal; + font-weight: bold; + font-family: inherit; } +.Ad { font-style: italic; + font-weight: normal; } +.Ms { font-style: normal; + font-weight: bold; } +.St { } +.Ux { } + +/* Physical markup. */ + +.Bf { display: inline flow; } +.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; } + +/* Tooltip support. */ + +h2.Sh, h3.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 flow; + 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"; } +h2.Sh::before { content: "Sh"; } +h3.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, +h2.Sh::before, h3.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, h2.Sh:hover::before, h3.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) { +main { margin-left: 0.5em; } +h2.Sh, h3.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; } +} diff --git a/resources.go b/resources.go index 6d32136..995fb2e 100644 --- a/resources.go +++ b/resources.go @@ -20,7 +20,7 @@ import ( //go:embed *.go go.mod go.sum //go:embed *.scfg //go:embed Makefile -//go:embed static/* templates/* scripts/* sql/* +//go:embed static/* templates/* scripts/* sql/* man/* //go:embed hookc/*.c //go:embed vendor/* var sourceFS embed.FS @@ -30,7 +30,7 @@ var sourceHandler = http.StripPrefix( http.FileServer(http.FS(sourceFS)), ) -//go:embed templates/* static/* hookc/hookc +//go:embed templates/* static/* hookc/hookc man/*.html man/*.txt man/*.css var resourcesFS embed.FS var templates *template.Template @@ -78,6 +78,7 @@ func loadTemplates() (err error) { } var staticHandler http.Handler +var manHandler http.Handler func init() { staticFS, err := fs.Sub(resourcesFS, "static") @@ -85,4 +86,9 @@ func init() { panic(err) } staticHandler = http.StripPrefix("/:/static/", http.FileServer(http.FS(staticFS))) + manFS, err := fs.Sub(resourcesFS, "man") + if err != nil { + panic(err) + } + manHandler = http.StripPrefix("/:/man/", http.FileServer(http.FS(manFS))) } diff --git a/static/mandoc.css b/static/mandoc.css deleted file mode 100644 index a2c5ae4..0000000 --- a/static/mandoc.css +++ /dev/null @@ -1,369 +0,0 @@ -/* $OpenBSD: mandoc.css,v 1.41 2025/01/25 03:17:11 schwarze Exp $ */ -/* - * Standard style sheet for mandoc(1) -Thtml and man.cgi(8). - * - * Written by Ingo Schwarze . - * 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: 65em; - --bg: #FFFFFF; - --fg: #000000; } -body { background: var(--bg); - color: var(--fg); - font-family: Helvetica,Arial,sans-serif; } -h1, h2 { font-size: 110%; } -table { margin-top: 0em; - 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; } - -.permalink { border-bottom: thin dotted; - color: inherit; - font: inherit; - text-decoration: inherit; } -* { clear: both } - -/* 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. */ - -div[role=doc-pageheader] { - display: flex; - border-bottom: 1px dotted #808080; - margin-bottom: 1em; - font-size: smaller; } -.head-ltitle { flex: 1; } -.head-vol { flex: 0 1 auto; - text-align: center; } -.head-rtitle { flex: 1; - text-align: right; } - -div[role=doc-pagefooter] { - display: flex; - justify-content: space-between; - border-top: 1px dotted #808080; - margin-top: 1em; - font-size: smaller; } -.foot-left { flex: 1; } -.foot-date { flex: 0 1 auto; - text-align: center; } -.foot-os { flex: 1; - text-align: right; } - -/* Sections and paragraphs. */ - -main { margin-left: 3.8em; } -.Nd { } -section.Sh { } -h2.Sh { margin-top: 1.2em; - margin-bottom: 0.6em; - margin-left: -3.2em; } -section.Ss { } -h3.Ss { margin-top: 1.2em; - margin-bottom: 0.6em; - margin-left: -1.2em; - font-size: 105%; } -.Pp { margin: 0.6em 0em; } -.Sx { } -.Xr { } - -/* Displays and lists. */ - -.Bd { } -.Bd-indent { margin-left: 3.8em; } - -.Bl-bullet { list-style-type: disc; - padding-left: 1em; } -.Bl-bullet > li { } -.Bl-dash { list-style-type: none; - padding-left: 0em; } -.Bl-dash > li:before { - content: "\2014 "; } -.Bl-item { list-style-type: none; - padding-left: 0em; } -.Bl-item > li { } -.Bl-compact > li { - margin-top: 0em; } - -.Bl-enum { padding-left: 2em; } -.Bl-enum > li { } -.Bl-compact > li { - margin-top: 0em; } - -.Bl-diag { } -.Bl-diag > dt { - font-style: normal; - font-weight: bold; } -.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: 0em; - margin-left: -5.5em; - padding-right: 0.5em; - vertical-align: top; } -.Bl-tag > dd { - clear: right; - column-count: 1; /* Force block formatting context. */ - width: 100%; - 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; } -.Bl-compact > tbody > tr > td { - margin-top: 0em; } - -.Rs { font-style: normal; - font-weight: normal; } -.RsA { } -.RsB { font-style: italic; - font-weight: normal; } -.RsC { } -.RsD { } -.RsI { font-style: italic; - font-weight: normal; } -.RsJ { font-style: italic; - font-weight: normal; } -.RsN { } -.RsO { } -.RsP { } -.RsQ { } -.RsR { } -.RsT { font-style: normal; - font-weight: normal; } -.RsU { } -.RsV { } - -.eqn { } -.tbl td { vertical-align: middle; } - -.HP { margin-left: 3.8em; - text-indent: -3.8em; } - -/* Semantic markup for command line utilities. */ - -table.Nm { } -code.Nm { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Fl { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Cm { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Ar { font-style: italic; - font-weight: normal; } -.Op { display: inline flow; } -.Ic { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Ev { font-style: normal; - font-weight: normal; - font-family: monospace; } -.Pa { font-style: italic; - font-weight: normal; } - -/* Semantic markup for function libraries. */ - -.Lb { } -code.In { font-style: normal; - font-weight: bold; - font-family: inherit; } -a.In { } -.Fd { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Ft { font-style: italic; - font-weight: normal; } -.Fn { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Fa { font-style: italic; - font-weight: normal; } -.Vt { font-style: italic; - font-weight: normal; } -.Va { font-style: italic; - font-weight: normal; } -.Dv { font-style: normal; - font-weight: normal; - font-family: monospace; } -.Er { font-style: normal; - font-weight: normal; - font-family: monospace; } - -/* Various semantic markup. */ - -.An { } -.Lk { } -.Mt { } -.Cd { font-style: normal; - font-weight: bold; - font-family: inherit; } -.Ad { font-style: italic; - font-weight: normal; } -.Ms { font-style: normal; - font-weight: bold; } -.St { } -.Ux { } - -/* Physical markup. */ - -.Bf { display: inline flow; } -.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; } - -/* Tooltip support. */ - -h2.Sh, h3.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 flow; - 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"; } -h2.Sh::before { content: "Sh"; } -h3.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, -h2.Sh::before, h3.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, h2.Sh:hover::before, h3.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) { -main { margin-left: 0.5em; } -h2.Sh, h3.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; } -} -- cgit v1.2.3