diff options
Diffstat (limited to 'Etc')
-rwxr-xr-x | Etc/changelog2html.pl | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Etc/changelog2html.pl b/Etc/changelog2html.pl new file mode 100755 index 000000000..ec7c29a6f --- /dev/null +++ b/Etc/changelog2html.pl @@ -0,0 +1,69 @@ +#!/usr/bin/perl -w + +# This programme turns the ChangeLog into changelog.html for display +# on the website. That lives at http://zsh.sunsite.dk/Etc/changelog.html. + +my $out = "changelog.html"; + +open CL, "ChangeLog" or die "No ChangeLog --- run in top level directory.\n"; + +if (-f $out) { + die "Will not overwrite existing $out. Delete by hand.\n"; +} + +my $version; +my $changes = 0; + +while (<CL>) { + /^\d+/ and $changes++; + if (/version\.mk.*version\s+(\d+(\.\d+)*(-\S+)?)/i) { + $version = $1; + $version =~ s/\.$//; + last; + } +} + +if (defined $version) { + warn "Outputting changelog.html for version \"$version\".\n"; + if ($changes) { + warn "WARNING: there are changes since this version.\n"; + } +} else { + $version = "X.X.X"; + warn "WARNING: no version found. Set by hand\n"; +} + +seek CL, 0, 0; + +open NEW, ">changelog.html"; + +select NEW; + +print <<"EOH"; +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>ChangeLog for zsh version $version</title> +</head> +<body> +<h1>ChangeLog for zsh version $version</h1> +<pre> +EOH + +while (<CL>) { + s/&/&/g; + s/</</g; + s/>/>/g; + + print; +} + +my $now = gmtime(time); + +print <<"EOH"; +</pre> +<hr> +Automatically generated from ChangeLog at $now +</body> +</html> +EOH |