diff options
author | Georg Brandl <georg@python.org> | 2007-12-06 02:00:01 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2007-12-06 02:00:01 +0000 |
commit | c5580ebd9115dc8dd1e76a8ac25cea95bc3db2ce (patch) | |
tree | 8faed5717da5e1fb2cb763906f57f53a603176c4 /sphinx/builder.py | |
parent | 3d74adea2595f35994093091410bc8607bd49f74 (diff) | |
download | sphinx-git-c5580ebd9115dc8dd1e76a8ac25cea95bc3db2ce.tar.gz |
Continue work on the PDF builder. The documents now build and run through LaTeX.
Some elements are still missing though.
Diffstat (limited to 'sphinx/builder.py')
-rw-r--r-- | sphinx/builder.py | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/sphinx/builder.py b/sphinx/builder.py index f420fd999..a345960b8 100644 --- a/sphinx/builder.py +++ b/sphinx/builder.py @@ -664,8 +664,8 @@ class LaTeXBuilder(Builder): # first, assemble the "special" docs that are in every PDF specials = [] - for fname in ["license", "copyright", "about", "glossary"]: - specials.extend(self.env.get_doctree(fname+".rst").children) + for fname in ["glossary", "about", "license", "copyright"]: + specials.append(self.env.get_doctree(fname+".rst")) docwriter = LaTeXWriter(self.config, self.name) docsettings = OptionParser( @@ -673,7 +673,7 @@ class LaTeXBuilder(Builder): components=(docwriter,)).get_default_values() # XXX get names of toplevels automatically? - for docname in ["c-api"]:#, "distutils", "documenting", "extending", + for docname in ["library"]:#, "distutils", "documenting", "extending", #"howto", "install", "library", "reference", #"tutorial", "using"]: # XXX whatsnew missing @@ -682,36 +682,37 @@ class LaTeXBuilder(Builder): encoding='utf-8') doctree = self.assemble_doctree(path.join(docname, "index.rst")) doctree.extend(specials) - print "Writing..." + print "writing...", doctree.settings = docsettings doctree.settings.filename = docname + doctree.settings.docclass = 'manual' # XXX howto for whatsnew output = docwriter.write(doctree, destination) - print "Done!" + print "done" def assemble_doctree(self, indexfile): self.filenames = [indexfile] - print "Processing", indexfile + print "processing", indexfile def process_tree(tree): - tree = tree.deepcopy() + #tree = tree.deepcopy() for toctreenode in tree.traverse(addnodes.toctree): - index = toctreenode.parent.index(toctreenode) + newnodes = [] includefiles = map(str, toctreenode['includefiles']) for includefile in includefiles: try: - print "Including", includefile + print green(includefile), subtree = process_tree(self.env.get_doctree(includefile)) self.filenames.append(includefile) except: print >>self.warning_stream, 'WARNING: %s: toctree contains ' \ 'ref to nonexisting file %r' % (filename, includefile) else: - toctreenode.parent[index:index] = subtree.children - toctreenode.parent.remove(toctreenode) + newnodes.extend(subtree.children) + toctreenode.parent.replace(toctreenode, newnodes) return tree largetree = process_tree(self.env.get_doctree(indexfile)) - print "Resolving references..." + print + print "resolving references..." self.env.resolve_references(largetree, indexfile, self) - #print largetree return largetree def finish(self): |