summary refs log tree commit diff
path: root/bin/html.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/html.sh')
-rw-r--r--bin/html.sh66
1 files changed, 59 insertions, 7 deletions
diff --git a/bin/html.sh b/bin/html.sh
index e5a15fdc..3223120b 100644
--- a/bin/html.sh
+++ b/bin/html.sh
@@ -3,12 +3,64 @@ set -eu
 
 readonly GitURL='https://git.causal.agency/src/tree/bin'
 
-src=$1
-man=${2:-}
+man=$1
+shift
+title=${man##*/}
+title=${title%.[1-9]}
 
-./hi -f html -o document,tab=4 -n "$src" /dev/null | sed '/<pre/d'
-cat <<- EOF
-	<code><a href="${GitURL}/${src}">${src} in git</a></code>
+cat <<EOF
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+<title>${title}</title>
+<style>
+html { line-height: 1.25em; font-family: monospace; }
+body { max-width: 80ch; margin: 1em auto; padding: 0 1ch; }
+
+table.head, table.foot { width: 100%; }
+td.head-rtitle, td.foot-os { text-align: right; }
+td.head-vol { text-align: center; }
+div.Pp { margin: 1ex 0ex; }
+div.Nd, div.Bf, div.Op { display: inline; }
+span.Pa, span.Ad { font-style: italic; }
+span.Ms { font-weight: bold; }
+dl.Bl-diag > dt { font-weight: bold; }
+code.Nm, code.Fl, code.Cm, code.Ic, code.In, code.Fd, code.Fn,
+code.Cd { font-weight: bold; font-family: inherit; }
+
+table { border-collapse: collapse; }
+table.Nm code.Nm { padding-right: 1ch; }
+table.foot { margin-top: 1em; }
+
+ul.index { padding: 0; }
+ul.index li { display: inline; list-style-type: none; }
+pre { -moz-tab-size: 4; tab-size: 4; }
+
+$(./scheme -st)
+html { background-color: var(--ansi16); color: var(--ansi17); }
+a { color: var(--ansi4); }
+a:visited { color: var(--ansi5); }
+a.permalink, a.tag { color: var(--ansi3); text-decoration: none; }
+a.permalink > code:target, *:target > a.permalink,
+a.tag:target { color: var(--ansi11); }
+pre .Ke { color: var(--ansi7); }
+pre .Ma { color: var(--ansi2); }
+pre .Co { color: var(--ansi4); }
+pre .St { color: var(--ansi6); }
+pre .Fo { color: var(--ansi14); }
+pre .Su { color: var(--ansi1); }
+</style>
 EOF
-[ -f "$man" ] && man -P cat "${PWD}/${man}" | ./ttpre
-./hi -f html -o anchor "$src"
+
+opts=fragment
+[ "${man}" = "README.7" ] && opts=${opts},man=%N.html
+mandoc -T html -O ${opts} "${man}"
+
+for src; do
+	cat <<-EOF
+	<p>
+	<a href="${GitURL}/${src}">${src} in git</a>
+	EOF
+	./htagml -x -f htmltags "${src}"
+	./hilex -t -f html "${src}" | ./htagml -ip -f htmltags "${src}"
+done