ref: d1e82e50cbbd6701832e66d70bb7ee3a48db266e
parent: 7955447ca4fd664712404ebdb541f04b24360d3e
author: ISSOtm <[email protected]>
date: Mon Mar 23 10:36:00 EDT 2020
Improve style of man page HTML renders See individual comments within `rgbds.css` for more info Not too fond of having to modify `mandoc.css`, but I did my best to modify as little as possible
--- a/docs/mandoc.css
+++ b/docs/mandoc.css
@@ -5,7 +5,10 @@
/* Global defaults. */
-html { max-width: 100ex; }
+/* This is handled in `rgbds.css` instead
+ *
+ * html { max-width: 100ex; }
+ */
body { font-family: Helvetica,Arial,sans-serif; }
table { margin-top: 0em;
margin-bottom: 0em; }
--- /dev/null
+++ b/docs/rgbds.css
@@ -1,0 +1,52 @@
+/* Overrides to default mandoc styling for HTML renders of RGBDS man pages */
+
+html {
+ /* Reduce contrast */
+ background-color: #f8f8f8;
+ color: #222;
+}
+
+body {
+ /* Improve readability */
+ font-size: 16px;
+ line-height: 1.4;
+ text-align: justify;
+
+ /* Center body horizontally (requires <html> to span full width) */
+ margin: 10px auto;
+ /* `mandoc.css`'s default, but it's applied to <html> there */
+ max-width: 100ex;
+}
+@media print {
+ body {
+ /* Max width doesn't make sense for print */
+ max-width: none;
+ /* Make font slightly smaller for printing */
+ font-size: 14px;
+ }
+}
+
+code, pre {
+ font-size: smaller;
+}
+
+/* Separate lines in tables */
+table.Bl-column {
+ border-collapse: collapse;
+}
+table.Bl-column tr:not(:first-child) > td,
+table.Bl-column tr:not(:first-child) > th {
+ border-top: 1px solid #aaa;
+}
+
+table.Bl-column th {
+ /* Apply `.Sy` style to table headers */
+ font-style: normal;
+ font-weight: bold;
+}
+
+table.Bl-column td,
+table.Bl-column th {
+ /* Add horizontal spacing between columns */
+ padding: 2px 7px 0;
+}
--- a/src/doc_postproc.awk
+++ b/src/doc_postproc.awk
@@ -1,5 +1,17 @@
#!/usr/bin/awk -f
+/<link/ {
+ # Inject our own style overrides
+ print(" <link rel=\"stylesheet\" href=\"rgbds.css\" type=\"text/css\" media=\"all\"/>")
+}
+
+/^\s+<td><b class="Sy">.+<\/b><\/td>$/ {
+ # Assuming that all cells whose contents are bold are heading cells,
+ # use the HTML tag for those
+ sub(/td><b class="Sy"/, "th");
+ sub(/b><\/td/, "th");
+}
+
BEGIN {
in_synopsis = 0
}