source: git/doc/cl2html.pl @ 6e8b7de

RELEASE/1.1RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since 6e8b7de was 6e8b7de, checked in by Olly Betts <olly@…>, 19 years ago

Sync with 1.0 branch

git-svn-id: file:///home/survex-svn/survex/branches/survex-1_1@3065 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100755
File size: 1.1 KB
Line 
1#!/usr/bin/perl -w
2require 5.008;
3use bytes;
4use strict;
5
6# run on the output of:
7# cvs2cl --separate-header --no-wrap
8# or vanilla cvs2cl it seems...
9
10my $title = 'ChangeLog';
11$title = "$ARGV[0] $title" if defined $ARGV[0];
12 
13print <<END;
14<HTML><HEAD>
15<TITLE>$title</TITLE>
16<STYLE type="text/css"><!--
17BODY, TD, CENTER, UL, OL {font-family: sans-serif;}
18-->
19</STYLE>
20</HEAD><BODY BGCOLOR=white TEXT=black>
21
22<dl>
23END
24
25my $rec;
26
27while (<STDIN>) {
28    if (/^\d/) {
29        print_entry($rec) if defined($rec);
30        $rec = '';
31    }
32    $rec .= $_;
33}
34print_entry($rec) if defined($rec);
35
36print <<END;
37</dl>
38
39</BODY>
40</HTML>
41END
42
43sub print_entry {
44    my ($hdr, $rec) = split /\n/, shift, 2;
45    $hdr = html($hdr);
46    $hdr =~ s/  /&nbsp;&nbsp;/;
47    $hdr =~ s/  +/ /g;
48    print "<dt>", $hdr, "</dt>\n";
49    $rec =~ s/^\s*\*\s*//;
50    $rec = html($rec);
51    $rec =~ s/\s*\n\n\s*/<p>/g;
52    $rec =~ s/^\s*/<p>/;
53    $rec =~ s/\s*$/<p>/;
54    $rec =~ s/^\s+//mg;
55    $rec =~ s/\s+$//mg;
56    $rec =~ s/  +/ /g;
57    print "<dd>", $rec, "</dd>\n";
58}
59
60sub html {
61    my $t = shift;
62    $t =~ s/&/&amp;/g;
63    $t =~ s/</&lt;/g;
64    $t =~ s/>/&gt;/g;
65    return $t;
66}
Note: See TracBrowser for help on using the repository browser.