Blob


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