]> git.draconx.ca Git - gob-dx.git/blob - doc/makehtml.pl
Release 2.0.0
[gob-dx.git] / doc / makehtml.pl
1 #!/usr/bin/perl
2 $printbr = 1;
3 $printtable = 0;
4 while (<>) {
5         s/&/&amp;/g;
6         s/\</&lt;/g;
7         s/\>/&gt;/g;
8         if ($printtable == 1) {
9                 $printtable = 2;
10         } elsif ($printtable == 2) {
11                 $printtable = 3;
12                 print "</TD><TD ALIGN=\"left\">";
13         }
14
15         #hack, we're inside .nf so highlight comments and
16         # other such stuff
17         if ($printbr == 0) {
18                 s/\/\*/<FONT COLOR="#5555ff">\/\*/g;
19                 s/\*\//\*\/<\/FONT>/g;
20         }
21         
22         if (/^\.\\"/) {
23                 # comment ignore
24         } elsif (/^\.TH .*\"([^"]*)\"/) {
25                 # must be at the front
26                 print "<HTML><HEAD><TITLE>$1 Manual page</TITLE></HEAD>\n";
27                 print "<BODY BGCOLOR=\"#ffffff\">\n";
28                 print "<H1>$1 Manual page</H1>\n";
29         } elsif (/^\.SH (.*)$/) {
30                 if ($printtable == 3) {
31                         $printtable = 0;
32                         print "</TD></TR></TABLE>\n";
33                 }
34                 print "<H3>$1</H3>\n";
35         } elsif (/^\.PP/) {
36                 if ($printtable == 3) {
37                         $printtable = 0;
38                         print "</TD></TR></TABLE>\n";
39                 }
40                 print "<P>\n";
41         } elsif (/^\.B "(.*)"$/) {
42                 print "<B>$1</B>\n";
43         } elsif (/^\.B (.*)$/) {
44                 print "<B>$1</B>\n";
45         } elsif (/^\.I "(.*)"$/) {
46                 print "<I>$1</I>\n";
47         } elsif (/^\.I (.*)$/) {
48                 print "<I>$1</I>\n";
49         } elsif (/^\.nf/) {
50                 if ($printtable == 3) {
51                         $printtable = 0;
52                         print "</TD></TR></TABLE>\n";
53                 }
54                 print "<TABLE WIDTH=100%><TR><TD BGCOLOR=\"#dddddd\"><PRE>\n";
55                 $printbr = 0;
56         } elsif (/^\.fi/) {
57                 print "</PRE>\n";
58                 print "</TD></TR></TABLE>\n";
59                 $printbr = 1;
60         } elsif (/^[    ]*$/) {
61                 if ($printtable == 3) {
62                         $printtable = 0;
63                         print "</TD></TR></TABLE>\n";
64                 }
65                 if ($printbr) {
66                         print "<BR>\n";
67                 } else {
68                         print "\n";
69                 }
70         } elsif (/^\.TP/) {
71                 if ($printtable == 3) {
72                         $printtable = 1;
73                         print "</TD></TR><TR>\n<TD ALIGN=\"left\">";
74                 } else {
75                         $printtable = 1;
76                         print "<TABLE BORDER><TR>\n<TD ALIGN=\"left\">";
77                 }
78         } else {
79                 s/\\fB([^\\]*)\\fR/<B>\1<\/B>/gm;
80                 s/\\fI([^\\]*)\\fR/<I>\1<\/I>/gm;
81                 s/\\(.)/\1>/g;
82                 print;
83         }
84 }
85
86 print "</BODY></HTML>\n";