summaryrefslogtreecommitdiffstats
path: root/debian/lynx-dump-postprocess
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:49:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:49:11 +0000
commitf4f3a659b7663cf52c2f2e1fa8e58ed4000e29c9 (patch)
tree46477e488553a670f4b0346080d3f9a635672104 /debian/lynx-dump-postprocess
parentAdding upstream version 7.0.6-dfsg. (diff)
downloadvirtualbox-debian/7.0.6-dfsg-1.tar.xz
virtualbox-debian/7.0.6-dfsg-1.zip
Adding debian version 7.0.6-dfsg-1.debian/7.0.6-dfsg-1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/lynx-dump-postprocess')
-rwxr-xr-xdebian/lynx-dump-postprocess51
1 files changed, 51 insertions, 0 deletions
diff --git a/debian/lynx-dump-postprocess b/debian/lynx-dump-postprocess
new file mode 100755
index 00000000..644e49c0
--- /dev/null
+++ b/debian/lynx-dump-postprocess
@@ -0,0 +1,51 @@
+#!/usr/bin/perl
+
+# taken from the exim4 package
+
+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";
+ }
+}