source: git/doc/cl2html.pl @ c1633e5

RELEASE/1.0RELEASE/1.1RELEASE/1.2debug-cidebug-ci-sanitisersfaster-cavernlogstereowalls-datawalls-data-hanging-as-warning
Last change on this file since c1633e5 was dfdc7bd, checked in by Olly Betts <olly@…>, 23 years ago

Minor tweaks to debian build process.

git-svn-id: file:///home/survex-svn/survex/trunk@1528 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100755
File size: 1.0 KB
Line 
1#!/usr/bin/perl -w
2use strict;
3
4# run on the output of:
5# cvs2cl --separate-header --no-wrap
6# or vanilla cvs2cl it seems...
7
8my $title = 'ChangeLog';
9$title = "$ARGV[0] $title" if defined $ARGV[0];
10 
11print <<END;
12<HTML><HEAD>
13<TITLE>$title</TITLE>
14</HEAD><BODY BGCOLOR=white TEXT=black>
15
16<dl>
17END
18
19my $rec;
20
21while (<STDIN>) {
22    if (/^\d/) {
23        print_entry($rec) if defined($rec);
24        $rec = '';
25    }
26    $rec .= $_;
27}
28print_entry($rec) if defined($rec);
29
30print <<END;
31</dl>
32
33</BODY>
34</HTML>
35END
36
37sub print_entry {
38    my ($hdr, $rec) = split /\n/, shift, 2;
39    $hdr = html($hdr);
40    $hdr =~ s/  /&nbsp;&nbsp;/;
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
54sub html {
55    my $t = shift;
56    $t =~ s/&/&amp;/g;
57    $t =~ s/</&lt;/g;
58    $t =~ s/>/&gt;/g;
59    return $t;
60}
Note: See TracBrowser for help on using the repository browser.