#!/usr/local/plan9/bin/rc verbose=no if(~ $1 -v) verbose=yes fn silencer { switch($verbose){ case no cat >/dev/null case yes cat } } . 9.rc cd $PLAN9/man # rm -f */*.html for(i in */INDEX) @{ n=`{echo $i | sed 's/man//;s!/INDEX!!'} cat $PLAN9/dist/manindextop.html | sed 's/NNN/'$n'/g' cd `{basename -d $i} # complicated sort order: want 9p.3, 9p-cmdbuf.3, 9pclient.3 for (j in `{ls [a-z0-9:]*.[0-9]* >[2]/dev/null | sed 's/[.\-]/ &/g;s/\./ &/g' | sort | tr -d ' '}){ n=`{grep '^\.TH' $j | sed 1q | awk '{print $3}'} name=`{echo $j | sed 's/\..*//'} if(~ $name 0intro) name=intro if not{ echo '' echo '' echo '' } if(~ $#name 0) name=XXX-name-$j-XXX if(~ $#n 0) n=XXX-n-$j-XXX echo -n ''$name'('$n')' sed -n ' /SH *NAM/,/SH/{ /SH/d s/, *$// ty :y s/ *\\*-.*/&/ tx s/ *\\\(mi.*/&/ tx s/\n\\n/\ /g p } /SH *DES/q d :x /^$/d s/\n\n/\ /g s/\\-/\–/ p q' $j } cat $PLAN9/dist/manindexbottom.html } >$i.html && mv $i.html `{echo $i.html | tr A-Z a-z} for (i in */[~.]*.[0-9]*){ j=`{echo $i | 9 sed 's/\..*//'} p=`{basename $j} d=`{basename -d $j} if(~ $p 0intro) p=intro if(~ $verbose yes) echo $d/$p troff -manhtml $i | troff2html -t 'Plan 9 from User Space'>/tmp/manweb.html |[2] silencer { sed '//q' /tmp/manweb.html cat $PLAN9/dist/mantrailer.html sed -n '//,$p' /tmp/manweb.html } | $PLAN9/dist/addsrclinks >$d/$p.html } rm /tmp/manweb.html cd $PLAN9/dist ./fixurls $PLAN9/man/man*/*.html