X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/168e428fc4dfcf7f4d377d137743d8332784fa35..068aaea8b5ac80809a1b860f63c625b3ea389ded:/doc/doc-docbook/TidyHTML-spec
diff --git a/doc/doc-docbook/TidyHTML-spec b/doc/doc-docbook/TidyHTML-spec
index 8459bcf17..05a9d826b 100755
--- a/doc/doc-docbook/TidyHTML-spec
+++ b/doc/doc-docbook/TidyHTML-spec
@@ -1,6 +1,6 @@
#! /usr/bin/perl
-# $Cambridge: exim/doc/doc-docbook/TidyHTML-spec,v 1.1 2005/06/16 10:32:31 ph10 Exp $
+# $Cambridge: exim/doc/doc-docbook/TidyHTML-spec,v 1.2 2005/11/10 12:30:13 ph10 Exp $
# Script to tidy up the spec HTML files that are generated by xmlto. The
# following changes are made:
@@ -9,6 +9,11 @@
# 2. Create reverse links from chapter and section titles back to the TOC.
# 3. Tidy the ix01.html file - the actual index - by splitting long lines.
# 4. Insert links from the letter divisions to the top of the Index.
+# 5. Turn
into
and
+# a matching
into
to get rid of unwanted vertical white
+# space.
+# 6. Before each occurrence of insert so that the table's cell
+# is a little bit wider than the text itself.
chdir "spec.html";
@@ -52,7 +57,10 @@ open (OUT, ">index.html") || die "Failed to open index.html for writing: $!\n";
print OUT @toc;
close(OUT);
-# Now scan each of the other page files and insert the reverse links.
+# Now scan each of the other page files and insert the reverse links. While
+# we are at it, we tidy up by removing unwanted
+# paragraph marks, which generate unwanted vertical space. We also insert
+# before to push table cells apart from each other.
foreach $file (@chlist)
{
@@ -60,9 +68,26 @@ foreach $file (@chlist)
@text =
;
close(IN);
+ # Insert a newline after certain elements, and split the lines so that each
+ # one is a separate element in the vector. This makes it easier to recognize
+ # these elements.
+
foreach $line (@text)
{
- if ($line =~ /^(.*?)<\/a>(.+?)<\/h(.*)$/)
+ $line =~ s/\s*(?!\n)/
\n/g;
+ $line =~ s/<\/p>\s*(?!\n)/<\/p>\n/g;
+ $line =~ s/<\/div>\s*(?!\n)/<\/div>\n/g;
+ $line =~ s/
]*)>(?!\n)/
\n/g;
+ }
+
+ for ($i = 0; $i < scalar(@text); $i++)
+ { splice @text, $i, 1, (split /(?<=\n)/, $text[$i]); }
+
+ $thisdiv = 0;
+
+ for ($i = 0; $i < scalar(@text); $i++)
+ {
+ if ($text[$i] =~ /^(.*?)
<\/a>(.+?)<\/h(.*)$/)
{
my($pre, $opt, $id, $title, $post) = ($1, $2, $3, $4, $5);
@@ -73,7 +98,22 @@ foreach $file (@chlist)
$ref = $backref{"$file"} if !defined $ref;
# Adjust the line
- $line = "$pre$title$title\n" && $text[$i+1] eq "
\n")
+ {
+ $text[++$i] = "";
+ $thisdiv = 1;
+ }
+ elsif ($thisdiv && $text[$i] eq "
\n" && $text[$i+1] eq "
\n")
+ {
+ $text[$i] = "";
+ $thisdiv = 0;
+ }
+ elsif ($text[$i] =~ /^\s*<\/td>/)
+ {
+ $text[$i] = " $text[$i]";
}
}