Job.build_html(): When formatting HTML into more than one HTML page, and
authorFred Drake <fdrake@acm.org>
Fri, 2 Mar 2001 16:26:45 +0000 (16:26 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 2 Mar 2001 16:26:45 +0000 (16:26 +0000)
    not doing the \label{foo} --> foo.html transformation (--numeric was
    specified on the command line), still look to see if there is an
    "About this document..." node and copy that to "about.html", since the
    page footers use that as the target.

Doc/tools/mkhowto

index a1784c99aa8caafbd73c86d3527bf53007730257..f11eec1dbda8406d2d57bd481552a4c5dd5c7970 100755 (executable)
@@ -368,13 +368,31 @@ class Job:
                         os.path.join(builddir, self.doc + ".css"))
         shutil.copyfile(os.path.join(builddir, self.doc + ".html"),
                         os.path.join(builddir, "index.html"))
-        if max_split_depth != 1 and not self.options.numeric:
-            pwd = os.getcwd()
-            try:
-                os.chdir(builddir)
-                self.run("%s %s *.html" % (PERL_BINARY, NODE2LABEL_SCRIPT))
-            finally:
-                os.chdir(pwd)
+        if max_split_depth != 1:
+            if self.options.numeric:
+                label_file = os.path.join(builddir, "labels.pl")
+                fp = open(label_file)
+                about_node = None
+                target = " = q/about/;\n"
+                x = len(target)
+                while 1:
+                    line = fp.readline()
+                    if not line:
+                        break
+                    if line[-x:] == target:
+                        line = fp.readline()
+                        m = re.search(r"\|(node\d+\.[a-z]+)\|", line)
+                        about_node = m.group(1)
+                        shutil.copyfile(os.path.join(builddir, about_node),
+                                        os.path.join(builddir, "about.html"))
+                        break
+            else:
+                pwd = os.getcwd()
+                try:
+                    os.chdir(builddir)
+                    self.run("%s %s *.html" % (PERL_BINARY, NODE2LABEL_SCRIPT))
+                finally:
+                    os.chdir(pwd)
 
     def build_text(self, tempdir=None):
         if tempdir is None: