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 echo -n '<tr><td valign=top><a href="'$name'.html">'$name'('$n')</a><td>'
36 sed -n '
37 /SH *NAM/,/SH/{
38 /SH/d
39 s/, *$//
40 ty
41 :y
42 s/ *\\*-.*/&/
43 tx
44 s/ *\\\(mi.*/&/
45 tx
46 s/\n\\n/\
47 /g
48 p
49 }
50 /SH *DES/q
51 d
52 :x
53 /^$/d
54 s/\n\n/\
55 /g
56 s/\\-/\&ndash;/
57 p
58 q' $j
59 }
60 cat $PLAN9/dist/manindexbottom.html
61 } >$i.html && mv $i.html `{echo $i.html | tr A-Z a-z}
63 for (i in */[~.]*.[0-9]*){
64 j=`{echo $i | 9 sed 's/\..*//'}
65 p=`{basename $j}
66 d=`{basename -d $j}
67 if(~ $p 0intro)
68 p=intro
69 if(~ $verbose yes) echo $d/$p
70 troff -manhtml $i | troff2html -t 'Plan 9 from User Space'>/tmp/manweb.html |[2] silencer
71 {
72 sed '/<!-- TRAILER -->/q' /tmp/manweb.html
73 cat $PLAN9/dist/mantrailer.html
74 sed -n '/<!-- TRAILER -->/,$p' /tmp/manweb.html
75 } | $PLAN9/dist/addsrclinks >$d/$p.html
76 }
77 rm /tmp/manweb.html
78 cd $PLAN9/dist
79 ./fixurls $PLAN9/man/man*/*.html