What's in
[git] / genMaintNotes.perl
1 #!/usr/bin/perl -w
2
3 print <<'EOF' ;
4 <html>
5 <head>
6 <style>
7 div.inset {
8 background: #aff;
9 color: #888;
10 margin-left: 10%;
11 margin-top: 2em;
12 margin-bottom: 2em;
13 width: 60%;
14 padding: 1.2em;
15 }
16 div.inset {
17 color: #444;
18 }
19 div.inset a {
20 color: #444;
21 }
22 div.inset a:hover {
23 color: #00f;
24 }
25 h2 {
26 text-decoration: underline;
27 color: #888;
28 }
29 span.tt {
30 font-family: monospace;
31 }
32 img#ohloh-badge, img#git {
33 border: none;
34 float: right;
35 }
36 </style>
37 </head>
38 <body>
39 <img src="http://members.cox.net/junkio/Kun-Wave.gif" id="git"
40 width="64" height="64" />
41 <h1>A Message from the Git Maintainer</h1>
42 EOF
43
44 sub show_links {
45         local ($_) = @_;
46         my $br = '';
47         for (split(/\n/, $_)) {
48                 s/^\s*//;
49                 s/\s*\Z//;
50                 my $url = $_;
51                 my $comment = $_;
52                 $url =~ s/ .*//;
53                 if ($url =~ /^http:/) {
54                         print "$br<a href=\"$url\"\n>$comment</a>";
55                 } else {
56                         print "$br$comment";
57                 }
58                 $br = "<br />\n";
59         }
60         print "\n";
61 }
62
63 sub show_commands {
64         local ($_) = @_;
65         my $br = '';
66         for (split(/\n/, $_)) {
67                 s/^\s*//;
68                 s/\s*\Z//;
69                 print "$br<span class=\"tt\">$_</span>";
70                 $br = "<br />\n";
71         }
72         print "\n";
73 }
74
75 my $in_ul;
76 $/ = "";
77 while (<>) {
78         $_ =~ s/\n+$//s;
79
80         if (/^ - /) {
81                 if (!$in_ul) {
82                         $in_ul = 1;
83                         print "<ul>\n";
84                 }
85                 s/^ - //;
86                 print "<li>$_</li>\n";
87                 next;
88         }
89
90         if ($in_ul) {
91                 $in_ul = undef;
92                 print "</ul>\n\n";
93         }
94
95         if (s/^\*\s*//) {
96                 print "<h2>$_</h2>\n\n";
97         } elsif (s/^ {4,}//) {
98                 print "<div class=\"inset\">\n";
99                 if (/^(http|git|nntp):\/\//) {
100                         show_links($_);
101                 } else {
102                         show_commands($_);
103                 }
104                 print "</div>\n\n";
105         } else {
106                 print "<p>$_</p>\n\n";
107         }
108 }
109
110 print <<'EOF' ;
111 <a href="http://www.ohloh.net/accounts/5439?ref=Detailed">
112 <img height='35' width='191' id='ohloh-badge'
113 src='http://www.ohloh.net/accounts/5439/widgets/account_detailed.gif'
114 alt="ohloh profile for Junio C Hamano" />
115 </a>
116 </body>
117 </html>
118 EOF