summaryrefslogtreecommitdiffstats
path: root/mantools/man2html
diff options
context:
space:
mode:
Diffstat (limited to 'mantools/man2html')
-rwxr-xr-xmantools/man2html48
1 files changed, 48 insertions, 0 deletions
diff --git a/mantools/man2html b/mantools/man2html
new file mode 100755
index 0000000..db17bda
--- /dev/null
+++ b/mantools/man2html
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# Crude script to convert formatted manpages to HTML. Requires GROFF_NO_SGR.
+
+while :
+do
+ case $1 in
+ -t) title=$2; shift; shift;;
+ -*) echo "Usage: $0 [-t title] [file(s)]" 1>&2; exit 1;;
+ *) break;;
+ esac
+done
+
+echo "<!doctype html public \"-//W3C//DTD HTML 4.01 Transitional//EN\"
+ \"http://www.w3.org/TR/html4/loose.dtd\">
+<html> <head>
+<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
+<title> $title </title>
+</head> <body> <pre>"
+
+#ESC=`echo x | tr '[x]' '[\033]'`
+
+sed '
+ s/\([<>&]\)\1/\1/g
+ s/&/\&amp;/g
+ s/_</\&lt;/g
+ s/<</\&lt;/g
+ s/</\&lt;/g
+ s/_>/\&gt;/g
+ s/>>/\&gt;/g
+ s/>/\&gt;/g
+ s;_\([^_]\);<i>\1</i>;g
+ s;.\(.\);<b>\1</b>;g
+
+ s;</i>\( *\)<i>;\1;g
+ s;</b>\( *\)<b>;\1;g
+
+ # Skip the redundant readme/html_directory blurb. The
+ # document names that follow will be hyperlinked.
+ /^<b>README FILES/{
+ h
+ N
+ N
+ g
+ }
+' "$@"
+
+echo '</pre> </body> </html>'