#!/bin/sh # # Render man pages with FIXMEs shown as tables # in the rendered page # for f in $*; do cat $f | awk ' /^\.\\" *FIXME/ { if ($0 ~ /.*FIXME *\..*/) { # FIXMES of the form "FIXME ." are "private" and # ignored by this script } else { sub("FIXME[: ]*", "") if ($0 ~ /^\.\\"[ ]*$/) { # If the FIXME line contains no additional text after # "FIXME", then discard the blank line getline } print "" if (fixme == 0) { print ".TS" print ".allbox;" print "lbw52" print "l." print "FIXME" print "T{" } fixme = 1 } } $0 !~ /^\.\\"/ && fixme == 1 { fixme = 0 print "T}" print ".TE" print "" } fixme == 1 { sub("^\\...[ ]", "") sub("^\\...", "") gsub("'"'"'", "\\(aq") if ($0 ~ /^[ ][ ]*.*/) { print ".br" sub("^[ ]*", " ") } } { print $0 } ' | tee "/tmp/$(basename $f).src" | man --nh --nj -l /dev/stdin done