resume/: +LLDB
[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
36
37 my $resume_url="/resume/ResumeJanKratochvil.pm/ResumeJanKratochvil.html";
38
39 sub vskip_hr($) { return "<hr />\n".My::Web::vskip("1ex"); }
40
41 # Only to be used privately by My::Web !
42 our %WebConfig=(
43                 "admin_mail"=>'web-www.jankratochvil.net@jankratochvil.net',
44                 "cvs_id_author_sub"=>sub {
45                         my($name)=@_;
46                                 return My::Web::a_href("http://www.jankratochvil.net/","Jan Kratochvil") if 0
47                                                 || $name eq "short"
48                                                 || $name eq "lace";
49                                 return escapeHTML($name);
50                         },
51 #               "viewcvs_My"=>"http://cvs.jankratochvil.net/viewcvs/MyWeb/",
52 #               "viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/www/www.jankratochvil.net/",
53                 "viewcvs_My"=>"http://git.jankratochvil.net/?p=MyWeb.git;a=blob;hb=HEAD;f=",
54                 "viewcvs"=>"http://git.jankratochvil.net/?p=www.jankratochvil.net.git;a=blob;hb=HEAD;f=",
55                 "title_prefix"=>"Jan Kratochvil",
56 #               "project_viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/",
57                 "project_viewcvs"=>"http://git.jankratochvil.net/",
58 #               "pserver"=>':pserver:pserver:@cvs.jankratochvil.net',
59 #               "pserver_path"=>"/cvs",
60                 "resume_url"=>$resume_url,
61 #               "mailman_url"  =>sub { return "http://".$My::Web::W->{"web_hostname"}."/mailman/"; },
62 #               "pipermail_url"=>sub { return "http://".("www2.jankratochvil.net"||$My::Web::W->{"web_hostname"})."/pipermail/"; },
63                 "heading"=>sub () {
64                         my $r="";
65                         $r.='<table border="0" style="font-size: larger;" class="margin-center"><tr>'."\n";
66                                 # Do not: <col width="20%" /><col width="50%" /><col width="20%" />
67                                 # as the constant are always bad.
68                                 $r.='<td>'."\n";
69                                         $r.='<table border="1"'
70                                                         .' style="border-collapse: collapse; border-style: solid; border-width: 2px;">'
71                                                         .'<tr><td style="padding: 5px; font-weight: bold;">'."\n";
72                                                                 $r.='Jan Kratochvil';
73 #                                                                       $r.=My::Web::a_href('http://www.jankratochvil.net/','Jan Kratochvil',
74 #                                                                                       "attr"=>'style="text-decoration: inherit; /* revoke underline */;"');
75                                         $r.='</td></tr></table>';
76                                 $r.='</td>'."\n";
77                                 $r.='<td>'."\n";
78                                         $r.='<table border="1"'
79                                                         .' style="text-align: center; border-collapse: collapse; border-style: solid; border-width: 2px;">'
80                                                         .'<tr>'."\n";
81                                                 my @sections=(
82                                                                 "/project/"=>"Projects",
83                                                                 "/product/"=>"Products",
84                                                                 "http://git.jankratochvil.net/"=>"GIT",
85 #                                                                                       "/News.pm"=>"News",
86                                                                 $resume_url=>"Resume",
87                                                                 "/Contact.pm"=>"Contact",
88                                                                 );
89                                                 while (@sections) {
90                                                         my $section_path=shift @sections;
91                                                         my $section_name=shift @sections;
92                                                         my $class="";
93                                                         if ($section_path=~m{^/(.*)$}) {
94                                                                 $class=$1;
95                                                                 $class=~s{/}{::}g;
96                                                                 $class=~s{[.]pm$}{};
97                                                                 }
98                                                         my $chosen=($class && $My::Web::W->{"__PACKAGE__"}=~/^\Q$class\E/);
99                                                         $r.='<td style="padding: 5px;">';
100                                                                 $r.=(($My::Web::W->{"section"} || "") eq $section_name ? "<b>$section_name</b>"
101                                                                                 : My::Web::a_href($section_path,$section_name,
102                                                                                                 "attr"=>($chosen
103                                                                                                                 ? 'style="text-decoration: underline; font-weight: bold;"'
104                                                                                                                 : 'style="text-decoration: inherit; /* revoke underline */"')));
105                                                         $r.="</td>\n";
106                                                         }
107                                         $r.='</tr></table>'."\n";
108                                 $r.='</td>'."\n";
109                         $r.='</tr></table>'."\n";
110                         if (!$My::Web::W->{"heading_novskip"}) {
111                                 $r.=WebConfig->vskip_hr();
112                                 }
113                         return $r;
114                         },
115                 ###"footing"=>"<h1>footing</h1>\n",
116                 "footing_delimit_sub_push"=>sub () {
117                         return if $My::Web::W->{"no_job"};
118                         print <<"HERE";
119 <table border="0" style="padding: 2ex; background: #552222; color: white;" class="margin-center">
120         <tr><td>
121                 <b>Contractor - Software Engineer:</b>
122                 Please check if your planned project
123                 @{[ My::Web::a_href($My::Web::W->{"resume_url"},'matches my experience',"attr"=>'style="color: inherit;"') ]},
124         </td></tr>
125 </table>
126 HERE
127                         },
128                 "no_job"=>1,
129                 "css_inherit"=>1,
130                 );
131
132 1;