Blob


1 #!/usr/local/plan9/bin/rc
3 path=($PLAN9/bin $path)
4 cd $PLAN9/man
5 # rm -f */*.html
7 for(i in */INDEX) @{
8 n=`{echo $i | sed 's/man//;s!/INDEX!!'}
9 cat $PLAN9/dist/manindextop.html | sed 's/NNN/'$n'/g'
10 cd `{basename -d $i}
11 # complicated sort order: want 9p.3, 9p-cmdbuf.3, 9pclient.3
12 for (j in `{ls [a-z0-9:]*.[0-9]* | sed 's/[.\-]/ &/g;s/\./ &/g' | sort | tr -d ' '}){
13 n=`{grep '^\.TH' $j | sed 1q | awk '{print $3}'}
14 name=`{echo $j | sed 's/\..*//'}
15 if(~ $name 0intro)
16 name=intro
17 if not{
18 echo '<tr height=1><td>'
19 echo '<tr height=1><td colspan=2 bgcolor=#cccccc>'
20 echo '<tr height=1><td>'
21 }
22 echo -n '<tr><td valign=top><a href="'$name'.html">'$name'('$n')</a><td>'
23 sed -n '
24 /SH *NAM/,/SH/{
25 /SH/d
26 s/, *$//
27 ty
28 :y
29 s/ *\\*-.*/&/
30 tx
31 s/ *\\\(mi.*/&/
32 tx
33 s/\n\\n/\
34 /g
35 p
36 }
37 /SH *DES/q
38 d
39 :x
40 /^$/d
41 s/\n\n/\
42 /g
43 s/\\-/\&ndash;/
44 p
45 q' $j
46 }
47 cat $PLAN9/dist/manindexbottom.html
48 } >$i.html && mv $i.html `{echo $i.html | tr A-Z a-z}
50 for (i in */[~.]*.[0-9]*){
51 j=`{echo $i | 9 sed 's/\..*//'}
52 p=`{basename $j}
53 d=`{basename -d $j}
54 if(~ $p 0intro)
55 p=intro
56 echo $d/$p
57 troff -manhtml $i | troff2html -t 'Plan 9 from User Space'>/tmp/manweb.html
58 {
59 sed '/<!-- TRAILER -->/q' /tmp/manweb.html
60 cat $PLAN9/dist/mantrailer.html
61 sed -n '/<!-- TRAILER -->/,$p' /tmp/manweb.html
62 } >$d/$p.html
63 }
64 rm /tmp/manweb.html