Blob


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