X-Git-Url: https://git.exim.org/exim-website.git/blobdiff_plain/ad00b118488078f18be87b2f4402481e7bea78d2..be46fdb012f0f1c3f9225a789bcfb8683031e19f:/script/eximhtml2txt.pl?ds=inline diff --git a/script/eximhtml2txt.pl b/script/eximhtml2txt.pl index 0f03ea4..38892e1 100755 --- a/script/eximhtml2txt.pl +++ b/script/eximhtml2txt.pl @@ -3,6 +3,7 @@ use strict; use warnings; +use File::Spec; use HTML::FormatText; use HTML::TreeBuilder; @@ -19,8 +20,30 @@ sub process_chapter { return $text; } +sub chapters_in_order { + my $dir = shift; + + opendir DIR, $dir or die "opendir($dir) failed: $!\n"; + my @numeric = sort grep {/^ch\d+\.html$/} readdir(DIR); + closedir(DIR) or die "closedir($dir) failed: $!\n"; + + my @results = map { + $_ = File::Spec->catfile($dir, $_); + if (-l $_) { + my $t; + eval { $t = readlink $_ }; + $_ = File::Spec->rel2abs($t, $dir) if defined $t; + } + $_ + } @numeric; + return @results; +} + + my $dir = shift; -foreach my $fn ( glob("$dir/ch*.html") ) { +die "Need a directory\n" unless defined $dir; + +foreach my $fn ( chapters_in_order($dir) ) { print "=" x 72, "\n"; print $fn, "\n"; print "=" x 72, "\n";