Typo.
[www.jankratochvil.net.git] / WebConfig.pm
1 #! /usr/bin/perl
2
3 # $Id$
4 # Local package configuration for HTML/XHTML output generation
5 # Copyright (C) 2003 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; exactly version 2 of June 1991 is required
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20
21 package WebConfig;
22 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
23 use vars qw($VERSION $CVS_ID);
24 $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
25 $CVS_ID=q$Id$;
26 use strict;
27 use warnings;
28
29 require Exporter;
30 use vars qw(@ISA @EXPORT);
31 @ISA=qw(Exporter);
32 @EXPORT=qw(%WebConfig);
33
34 use My::Web;
35 require CGI;
36
37
38 my $resume_url="/resume/Resume-JanKratochvil.html.pl/Resume-JanKratochvil.html";
39
40 our %WebConfig=(
41                 "admin_mail"=>'web-www.jankratochvil.net@jankratochvil.net',
42                 "SendMsg_to"=>'web-www.jankratochvil.net@jankratochvil.net',
43                 "cvs_id_author"=>sub {
44                         my($name)=@_;
45                                 return My::Web::a_href("http://www.jankratochvil.net/","Jan Kratochvil") if 0
46                                                 || $name eq "short"
47                                                 || $name eq "lace";
48                                 return CGI::escapeHTML($name);
49                         },
50                 "viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/www/www.jankratochvil.net/",
51                 "title_prefix"=>"Jan Kratochvil",
52                 "project_viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/",
53                 "pserver"=>':pserver:pserver:@cvs.jankratochvil.net',
54                 "pserver_path"=>"/cvs",
55                 "resume_url"=>$resume_url,
56                 "web_hostname_sub"=>sub () { return "www.jankratochvil.net"; }, # $My::Web::W->{"r"}->hostname()
57                 "mailman_url_sub"  =>sub () { return "http://".&{$My::Web::W->{"web_hostname_sub"}}."/mailman/"; },
58                 "pipermail_url_sub"=>sub () { return "http://".&{$My::Web::W->{"web_hostname_sub"}}."/pipermail/"; },
59                 "heading"=>sub () {
60                         print '<table border="0" align="center" style="font-size: larger;">'."\n";
61                                 print '<col width="20%">'."\n";
62                                 print '<col width="50%">'."\n";
63                                 print '<col width="20%">'."\n";
64                                 print '<tr>'."\n";
65                                         print '<td>'."\n";
66                                                 print '<table border="1" align="left"'
67                                                                 .' style="border-collapse: collapse; border-style: solid; border-width: 2px;">'."\n";
68                                                         print '<tr>'."\n";
69                                                                 print '<td style="padding: 5px; font-weight: bold;">'."\n";
70                                                                         print My::Web::a_href('http://www.jankratochvil.net/','Jan Kratochvil',
71                                                                                         "attr"=>'style="text-decoration: inherit; /* revoke underline */;"');
72                                                                 print '</td>'."\n";
73                                                         print '</tr>'."\n";
74                                                 print '</table>';
75                                         print '</td>'."\n";
76                                         print '<td>'."\n";
77                                                 print '<table border="1" align="center"'
78                                                                 .' style="border-collapse: collapse; border-style: solid; border-width: 2px;">'."\n";
79                                                         print '<tr>'."\n";
80                                                                 my @sections=(
81                                                                                 "/project/"=>"Projects",
82                                                                                 "http://cvs.jankratochvil.net/"=>"CVS",
83 #                                                                               "/News.html.pl"=>"News",
84                                                                                 $resume_url=>"Resume",
85                                                                                 "/Contact.html.pl"=>"Contact",
86                                                                                 );
87                                                                 while (@sections) {
88                                                                         my $section_path=shift @sections;
89                                                                         my $section_name=shift @sections;
90                                                                         print '<td style="padding: 5px;">';
91                                                                                 print(($My::Web::W->{"section"} || "") eq $section_name ? "<b>$section_name</b>"
92                                                                                                 : My::Web::a_href($section_path,$section_name,
93                                                                                                                 "attr"=>'style="text-decoration: inherit; /* revoke underline */;"'));
94                                                                         print "</td>\n";
95                                                                         }
96                                                         print '</tr>'."\n";
97                                                 print '</table>'."\n";
98                                         print '</td>'."\n";
99                                 print '</tr>'."\n";
100                         print '</table>'."\n";
101                         print My::Web::vskip("1ex") if !$My::Web::W->{"WebConfig::heading_novskip"};
102                         },
103                 "footing"=>sub () {
104 #                       print "<h1>footing</h1>\n";
105                         },
106                 "footing_delimit"=>sub () {
107                         return if $My::Web::W->{"no_job"};
108                         print <<"HERE";
109 <table border="0" style="margin: 4ex; padding: 2ex; background: #552222;">
110         <tr><td>
111                 <b>A programmer for hire:</b>
112                 <span style="color: #ffaaaa;">
113                         I am looking for new challenges.
114                         If you find the software here useful, please
115                         @{[ My::Web::a_href($My::Web::W->{"resume_url"},'consider me') ]}
116                         for your next software project.
117                 </span>
118         </td></tr>
119 </table>
120 HERE
121                         },
122                 );
123
124 1;