merge with 0.6

This commit is contained in:
Georg Brandl 2009-06-16 22:19:59 +02:00
commit 960ba9ec41
4 changed files with 21 additions and 13 deletions

View File

@ -38,6 +38,8 @@ Release 1.0 (in development)
Release 0.6.2 (in development) Release 0.6.2 (in development)
============================== ==============================
* #167: Make glossary sorting case-independent.
* #196: Add a warning if an extension module doesn't have a * #196: Add a warning if an extension module doesn't have a
``setup()`` function. ``setup()`` function.

View File

@ -325,7 +325,7 @@ class StandaloneHTMLBuilder(Builder):
parents.reverse() parents.reverse()
# title rendered as HTML # title rendered as HTML
title = titles.get(docname) title = self.env.longtitles.get(docname)
title = title and self.render_partial(title)['title'] or '' title = title and self.render_partial(title)['title'] or ''
# the name for the copied source # the name for the copied source
sourcename = self.config.html_copy_source and docname + '.txt' or '' sourcename = self.config.html_copy_source and docname + '.txt' or ''

View File

@ -451,7 +451,7 @@ class Glossary(Directive):
li.insert(0, indexnode) li.insert(0, indexnode)
items.append((termtext, li)) items.append((termtext, li))
if 'sorted' in self.options: if 'sorted' in self.options:
items.sort() items.sort(key=lambda x: x[0].lower())
new_dl.extend(item[1] for item in items) new_dl.extend(item[1] for item in items)
node.children = [new_dl] node.children = [new_dl]
return [node] return [node]

View File

@ -59,7 +59,7 @@ default_settings = {
# This is increased every time an environment attribute is added # This is increased every time an environment attribute is added
# or changed to properly invalidate pickle files. # or changed to properly invalidate pickle files.
ENV_VERSION = 29 ENV_VERSION = 30
default_substitutions = set([ default_substitutions = set([
@ -274,6 +274,8 @@ class BuildEnvironment:
# TOC inventory # TOC inventory
self.titles = {} # docname -> title node self.titles = {} # docname -> title node
self.longtitles = {} # docname -> title node; only different if
# set differently with title directive
self.tocs = {} # docname -> table of contents nodetree self.tocs = {} # docname -> table of contents nodetree
self.toc_num_entries = {} # docname -> number of real entries self.toc_num_entries = {} # docname -> number of real entries
# used to determine when to show the TOC # used to determine when to show the TOC
@ -343,6 +345,7 @@ class BuildEnvironment:
self.metadata.pop(docname, None) self.metadata.pop(docname, None)
self.dependencies.pop(docname, None) self.dependencies.pop(docname, None)
self.titles.pop(docname, None) self.titles.pop(docname, None)
self.longtitles.pop(docname, None)
self.tocs.pop(docname, None) self.tocs.pop(docname, None)
self.toc_secnumbers.pop(docname, None) self.toc_secnumbers.pop(docname, None)
self.toc_num_entries.pop(docname, None) self.toc_num_entries.pop(docname, None)
@ -785,11 +788,13 @@ class BuildEnvironment:
and store that title in the environment. and store that title in the environment.
""" """
titlenode = nodes.title() titlenode = nodes.title()
# explicit title set with title directive longtitlenode = titlenode
# explicit title set with title directive; use this only for
# the <title> tag in HTML output
if document.has_key('title'): if document.has_key('title'):
titlenode += nodes.Text(document['title']) longtitlenode = nodes.title()
longtitlenode += nodes.Text(document['title'])
# look for first section title and use that as the title # look for first section title and use that as the title
else:
for node in document.traverse(nodes.section): for node in document.traverse(nodes.section):
visitor = SphinxContentsFilter(document) visitor = SphinxContentsFilter(document)
node[0].walkabout(visitor) node[0].walkabout(visitor)
@ -799,6 +804,7 @@ class BuildEnvironment:
# document has no title # document has no title
titlenode += nodes.Text('<no title>') titlenode += nodes.Text('<no title>')
self.titles[docname] = titlenode self.titles[docname] = titlenode
self.longtitles[docname] = longtitlenode
def note_labels_from(self, docname, document): def note_labels_from(self, docname, document):
for name, explicit in document.nametypes.iteritems(): for name, explicit in document.nametypes.iteritems():