Merge branch 'release-4-6' into master
[alexxy/gromacs.git] / admin / mkhtml
1 #!/bin/csh -f
2
3 if ( $#argv < 2 ) then
4   echo "Error: provide the binary directory as first argument,"
5   echo "and the location of programs.txt as the second."
6   echo "A html subdirectory will be created in the current dir."
7   exit
8 endif
9
10 set GMXBINDIR   = $1
11 set PROGFILE    = $2
12
13 set dir = $cwd
14
15 set VER         = 4.6.2
16 set DATE        = `date "+%B %d, %Y`
17 set MANDIR      = online
18 set HTML        = $cwd/html
19 set HTMLOL      = $HTML/$MANDIR
20 set HTMLIDX     = $HTML/$MANDIR.html
21
22 set GENERAL     = "getting_started:Getting_Started flow:Flow_Chart files:File_Formats mdp_opt:mdp_options"
23
24 cd $GMXBINDIR
25 set PROGRAMS = [a-z]*
26 cd $dir
27
28 echo ""
29 echo "Generating table of contents in $HTMLIDX"
30 echo "-------------------------------------------"
31
32 if ( ! -d $HTML ) mkdir $HTML
33 if ( ! -d $HTMLOL ) mkdir $HTMLOL
34
35 if ( -f $HTMLIDX ) \rm $HTMLIDX
36 touch $HTMLIDX
37
38 cat > $HTMLIDX << EOD
39 <HTML>
40 <HEAD>
41 <TITLE>GROMACS $VER Online Reference </TITLE>
42 </HEAD>
43 <LINK rel=stylesheet href="online/style.css" type="text/css">
44 <BODY text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990000" alink="#FF0000">
45
46 <table WIDTH="98%" NOSAVE NOBORDER >
47 <TR><TD WIDTH=400>
48 <TABLE WIDTH=400 NOBORDER>
49 <TD WIDTH=116>
50 <a href="http://www.gromacs.org/">
51 <img SRC="images/gmxlogo_small.jpg" BORDER=0 height=133 width=116></a></td>
52 <td ALIGN=LEFT VALIGN=TOP WIDTH=280>
53 <br><br>
54 <h2>
55 GROMACS $VER<br>
56 Online Reference</h2>
57 </td>
58 </TABLE></TD>
59 <td ALIGN=RIGHT VALIGN=BOTTOM WIDTH="*" NOSAVE>
60 <B>VERSION $VER<br>
61 $DATE</B></td>
62 </tr>
63 </table>
64
65 <hr>
66
67 <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=10>
68 <TR>
69 <TD VALIGN=top WIDTH="25%">
70 <h3>General</h3>
71 EOD
72 foreach i ( $GENERAL )
73   set file = `echo $i | cut -d: -f1`
74   set desc = `echo $i | cut -d: -f2 | sed 's/_/ /g'`
75   echo "<A HREF="\""$MANDIR/"$file".html"\"">"$desc"</a>" >> $HTMLIDX
76   echo "<br><br>" >> $HTMLIDX
77 end
78 cat >> $HTMLIDX <<EOD
79 <A HREF="gmxfaq.html">FAQ</a>
80 <br>
81 </TD>
82 <TD VALIGN=top WIDTH=75%>
83 <h3>Programs</h3>
84 <multicol cols=5> 
85 <A HREF="$MANDIR/options.html">Options</a>
86 <br>
87 EOD
88 foreach program ( $PROGRAMS )
89   if ( ( -x $GMXBINDIR/$program ) && ( $program != "my_dssp" ) && ( $program != "GMXRC" ) && ( $program != "completion.csh" ) && ( $program != "completion.zsh" ) && ( $program != "average" ) && ( $program != "completion.bash" ) && ( $program != "demux.pl" ) && ( $program != "xplor2gmx.pl" ) ) then  
90     echo "<br><a href="$MANDIR/$program.html">$program</a>" >> $HTMLIDX
91   endif
92 end
93 cat >> $HTMLIDX << EOD
94 </multicol>
95 </TD>
96 </TR>
97 </TABLE>
98 <HR>
99 <h3>Programs by Topic</h3>
100 <multicol cols=3>
101 EOD
102 awk -F '|' -v mandir=$MANDIR '{\
103   if (NF) {\
104     if ( $1 == "HEAD" ) {\
105       hnr++;\
106       printf("<A HREF=\"#HNR%d\">%s</A><br>\n",hnr,$2);\
107     }\
108   }\
109 }' $PROGFILE >> $HTMLIDX
110 echo "</multicol> " >> $HTMLIDX
111 awk -F '|' -v mandir=$MANDIR '{\
112   if (NF) {\
113     if ( $1 == "HEAD" ) {\
114       hnr++;\
115       printf("\n<A NAME=\"HNR%d\">\n",hnr);\
116       printf("<TABLE CELLSPACING=1>\n<TR><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n");\
117       printf("<TR><TD COLSPAN=2><b>%s</b>\n",$2);\
118     } else if ( $1 == "END" ) {\
119       printf("</TABLE>\n");\
120     } else {\
121       printf("<TR><TD><A HREF=\"%s/%s.html\">%s</A></TD><TD>%s</TD>\n",mandir,$1,$1,$2);\
122     }\
123   }\
124 }' $PROGFILE >> $HTMLIDX
125 cat >> $HTMLIDX <<EOD
126 <p>
127 <hr>
128 <div ALIGN=RIGHT>
129 <font size="-1"><a href="http://www.gromacs.org">http://www.gromacs.org</a></font><br>
130 </body>
131 </html>
132 EOD
133
134 echo "Generating html manual for GROMACS programs"
135 echo "-------------------------------------------"
136
137 cd $dir
138
139 foreach program ( $PROGRAMS )
140   if ( ( -x $GMXBINDIR/$program ) && ( $program != "my_dssp" ) && ( $program != "GMXRC" ) && ( $program != "completion.csh" ) && ( $program != "completion.zsh" ) && ( $program != "average" ) && ( $program != "completion.bash" ) ) then
141     echo -n "$program "
142     cd $HTMLOL
143     $GMXBINDIR/$program -quiet -man html >& /dev/null
144     cd ..
145     endif
146   endif
147 end
148
149 #last line