diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:16:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:16:14 +0000 |
commit | 318a1a2246a9f521e5a02313dcc1f6d68a0af7ec (patch) | |
tree | e28c79d572e488bf782444e31d81291b99ef1932 /debian/lynx-dump-postprocess | |
parent | Adding upstream version 4.96. (diff) | |
download | exim4-318a1a2246a9f521e5a02313dcc1f6d68a0af7ec.tar.xz exim4-318a1a2246a9f521e5a02313dcc1f6d68a0af7ec.zip |
Adding debian version 4.96-15+deb12u4.debian/4.96-15+deb12u4debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/lynx-dump-postprocess')
-rwxr-xr-x | debian/lynx-dump-postprocess | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/debian/lynx-dump-postprocess b/debian/lynx-dump-postprocess new file mode 100755 index 0000000..e1ebbf9 --- /dev/null +++ b/debian/lynx-dump-postprocess @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +open IN, '<&STDIN'; +#open IN, 'dump'; +{ + local $/; + $content=<IN>; +} +close IN; + +($title,$body,$links) = + ($content =~ + /^(.*)\n\s+_+\n\n + (\s+Table\ of\ Contents.*) + (References\n\n\s+1\..*)/sx); + +die unless ($title); + +print "$title\n".'-' x length($title)."\n\n"; + +# Sort out local links. +# The regex might not be entirely accurate. +foreach (split /\n/, $links) { + ($index, $url) = /^\s*(\d+)\. (.+)$/; + if ($url !~ /file:\/\/.*#.*$/) { + $links[$index] = $url; + } +} + +$linkno=0; +# Split paragraphs +foreach (split /\n(?:\s+_+\n)?\n/, $body) { + my $footnote = ''; + my $rest = $_; + while ( $rest =~ /^(.*?)\[(\d+)\](.*)$/s ) { + print $1; + if (defined $links[$2]) { + $linkno++; + print "[$linkno]"; + $footnote.=" $linkno. $links[$2]\n"; + } + $rest = $3; + } + print $rest; + print "\n\n"; + if ($footnote ne '') { + print "$footnote\n"; + } +} |