summaryrefslogtreecommitdiff
path: root/sphinx/builder.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2007-12-06 02:00:01 +0000
committerGeorg Brandl <georg@python.org>2007-12-06 02:00:01 +0000
commitc5580ebd9115dc8dd1e76a8ac25cea95bc3db2ce (patch)
tree8faed5717da5e1fb2cb763906f57f53a603176c4 /sphinx/builder.py
parent3d74adea2595f35994093091410bc8607bd49f74 (diff)
downloadsphinx-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.py27
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):