RELEASE/1.0RELEASE/1.1RELEASE/1.2debug-cidebug-ci-sanitisersfaster-cavernlogstereowalls-datawalls-data-hanging-as-warning
Line | |
---|
1 | #!/usr/bin/perl -w |
---|
2 | use strict; |
---|
3 | |
---|
4 | # run on the output of: |
---|
5 | # cvs2cl --separate-header --no-wrap |
---|
6 | # or vanilla cvs2cl it seems... |
---|
7 | |
---|
8 | my $title = 'ChangeLog'; |
---|
9 | $title = "$ARGV[0] $title" if defined $ARGV[0]; |
---|
10 | |
---|
11 | print <<END; |
---|
12 | <HTML><HEAD> |
---|
13 | <TITLE>$title</TITLE> |
---|
14 | </HEAD><BODY BGCOLOR=white TEXT=black> |
---|
15 | |
---|
16 | <dl> |
---|
17 | END |
---|
18 | |
---|
19 | my $rec; |
---|
20 | |
---|
21 | while (<STDIN>) { |
---|
22 | if (/^\d/) { |
---|
23 | print_entry($rec) if defined($rec); |
---|
24 | $rec = ''; |
---|
25 | } |
---|
26 | $rec .= $_; |
---|
27 | } |
---|
28 | print_entry($rec) if defined($rec); |
---|
29 | |
---|
30 | print <<END; |
---|
31 | </dl> |
---|
32 | |
---|
33 | </BODY> |
---|
34 | </HTML> |
---|
35 | END |
---|
36 | |
---|
37 | sub print_entry { |
---|
38 | my ($hdr, $rec) = split /\n/, shift, 2; |
---|
39 | $hdr = html($hdr); |
---|
40 | $hdr =~ s/ / /; |
---|
41 | $hdr =~ s/ +/ /g; |
---|
42 | print "<dt>", $hdr, "</dt>\n"; |
---|
43 | $rec =~ s/^\s*\*\s*//; |
---|
44 | $rec = html($rec); |
---|
45 | $rec =~ s/\s*\n\n\s*/<p>/g; |
---|
46 | $rec =~ s/^\s*/<p>/; |
---|
47 | $rec =~ s/\s*$/<p>/; |
---|
48 | $rec =~ s/^\s+//mg; |
---|
49 | $rec =~ s/\s+$//mg; |
---|
50 | $rec =~ s/ +/ /g; |
---|
51 | print "<dd>", $rec, "</dd>\n"; |
---|
52 | } |
---|
53 | |
---|
54 | sub html { |
---|
55 | my $t = shift; |
---|
56 | $t =~ s/&/&/g; |
---|
57 | $t =~ s/</</g; |
---|
58 | $t =~ s/>/>/g; |
---|
59 | return $t; |
---|
60 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.