mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add html_short_title and html_show_sphinx config values.
This commit is contained in:
parent
316d9e3e88
commit
02b529bf52
11
CHANGES
11
CHANGES
@ -19,6 +19,15 @@ New features added
|
||||
|
||||
* The directories in the `html_static_path` can now contain subdirectories.
|
||||
|
||||
* The new config value `html_short_title` can be used to set a shorter
|
||||
title for the documentation which is then used in the navigation bar.
|
||||
|
||||
* The new config value `html_show_sphinx` can be used to control whether
|
||||
a link to Sphinx is added to the HTML footer.
|
||||
|
||||
* Defaults for configuration values can now be callables, which allows
|
||||
dynamic defaults.
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
|
||||
@ -40,7 +49,7 @@ Bugs fixed
|
||||
|
||||
* Fix behavior of references to functions/methods with an explicit title.
|
||||
|
||||
* Support citation nodes in LaTeX writer.
|
||||
* Support citation nodes in LaTeX writer.M v7
|
||||
|
||||
|
||||
Release 0.3 (May 6, 2008)
|
||||
|
@ -182,6 +182,14 @@ that use Sphinx' HTMLWriter class.
|
||||
v{<revision>} documentation'`, where the placeholders are replaced by the
|
||||
config values of the same name.
|
||||
|
||||
.. confval:: html_short_title
|
||||
|
||||
A shorter "title" for the HTML docs. This is used in for links in the header
|
||||
and in the HTML Help docs. If not given, it defaults to the value of
|
||||
:confval:`html_title`.
|
||||
|
||||
.. versionadded:: 0.4
|
||||
|
||||
.. confval:: html_style
|
||||
|
||||
The style sheet to use for HTML pages. A file of that name must exist either
|
||||
@ -293,6 +301,13 @@ that use Sphinx' HTMLWriter class.
|
||||
to translate document trees to HTML. Default is ``None`` (use the builtin
|
||||
translator).
|
||||
|
||||
.. confval:: html_show_sphinx
|
||||
|
||||
If true, "Created using Sphinx" is shown in the HTML footer. Default is
|
||||
``True``.
|
||||
|
||||
.. versionadded:: 0.4
|
||||
|
||||
.. confval:: htmlhelp_basename
|
||||
|
||||
Output file base name for HTML help builder. Default is ``'pydoc'``.
|
||||
|
@ -24,6 +24,11 @@ the following public API:
|
||||
in the setting only takes effect when a document is parsed -- this means that
|
||||
the whole environment must be rebuilt.
|
||||
|
||||
.. versionchanged:: 0.4
|
||||
If the *default* value is a callable, it will be called with the config
|
||||
object as its argument in order to get the default value. This can be
|
||||
used to implement config values whose default depends on other values.
|
||||
|
||||
.. method:: Sphinx.add_event(name)
|
||||
|
||||
Register an event called *name*.
|
||||
|
@ -79,16 +79,12 @@ class Sphinx(object):
|
||||
setattr(self.config, key, val)
|
||||
|
||||
# load all extension modules
|
||||
for extension in getattr(self.config, 'extensions', ()):
|
||||
for extension in self.config.extensions:
|
||||
self.setup_extension(extension)
|
||||
# the config file itself can be an extension
|
||||
if hasattr(self.config, 'setup'):
|
||||
if self.config.setup:
|
||||
self.config.setup(self)
|
||||
|
||||
# this must happen after loading extension modules, since they
|
||||
# can add custom config values
|
||||
self.config.init_defaults()
|
||||
|
||||
if buildername is None:
|
||||
print >>status, 'No builder selected, using default: html'
|
||||
buildername = 'html'
|
||||
@ -179,9 +175,10 @@ class Sphinx(object):
|
||||
self.builderclasses[builder.name] = builder
|
||||
|
||||
def add_config_value(self, name, default, rebuild_env):
|
||||
if name in self.config.values:
|
||||
if name in self.config.valuenames:
|
||||
raise ExtensionError('Config value %r already present' % name)
|
||||
self.config.values[name] = (default, rebuild_env)
|
||||
self.config.valuenames.add(name)
|
||||
self.config.__class__.config_values[name] = (default, rebuild_env)
|
||||
|
||||
def add_event(self, name):
|
||||
if name in self._events:
|
||||
|
@ -320,9 +320,6 @@ class StandaloneHTMLBuilder(Builder):
|
||||
else:
|
||||
self.last_updated = None
|
||||
|
||||
docstitle = self.config.html_title or \
|
||||
'%s v%s documentation' % (self.config.project,
|
||||
self.config.release)
|
||||
logo = self.config.html_logo and \
|
||||
path.basename(self.config.html_logo) or ''
|
||||
|
||||
@ -339,7 +336,9 @@ class StandaloneHTMLBuilder(Builder):
|
||||
use_modindex = self.config.html_use_modindex,
|
||||
use_index = self.config.html_use_index,
|
||||
use_opensearch = self.config.html_use_opensearch,
|
||||
docstitle = docstitle,
|
||||
docstitle = self.config.html_title,
|
||||
shorttitle = self.config.html_short_title,
|
||||
show_sphinx = self.config.html_show_sphinx,
|
||||
builder = self.name,
|
||||
parents = [],
|
||||
titles = {},
|
||||
@ -913,17 +912,15 @@ class ChangesBuilder(Builder):
|
||||
otherchanges.setdefault((docname, title), []).append(
|
||||
(entry, docname, lineno))
|
||||
|
||||
docstitle = self.config.html_title or \
|
||||
'%s v%s documentation' % (self.config.project,
|
||||
self.config.release)
|
||||
|
||||
ctx = {
|
||||
'project': self.config.project,
|
||||
'version': version,
|
||||
'docstitle': docstitle,
|
||||
'docstitle': self.config.html_title,
|
||||
'shorttitle': self.config.html_short_title,
|
||||
'libchanges': sorted(libchanges.iteritems()),
|
||||
'apichanges': sorted(apichanges),
|
||||
'otherchanges': sorted(otherchanges.iteritems()),
|
||||
'show_sphinx': self.config.html_show_sphinx,
|
||||
}
|
||||
f = open(path.join(self.outdir, 'index.html'), 'w')
|
||||
try:
|
||||
|
@ -47,7 +47,10 @@ class Config(object):
|
||||
template_bridge = (None, False),
|
||||
|
||||
# HTML options
|
||||
html_title = (None, False),
|
||||
html_title = (lambda self: '%s v%s documentation' %
|
||||
(self.project, self.release),
|
||||
False),
|
||||
html_short_title = (lambda self: self.html_title, False),
|
||||
html_style = ('default.css', False),
|
||||
html_logo = (None, False),
|
||||
html_static_path = ([], False),
|
||||
@ -61,6 +64,7 @@ class Config(object):
|
||||
html_copy_source = (True, False),
|
||||
html_use_opensearch = ('', False),
|
||||
html_file_suffix = (None, False),
|
||||
html_show_sphinx = (True, False),
|
||||
|
||||
# HTML help only options
|
||||
htmlhelp_basename = ('pydoc', False),
|
||||
@ -77,7 +81,7 @@ class Config(object):
|
||||
)
|
||||
|
||||
def __init__(self, dirname, filename):
|
||||
self.values = self.config_values.copy()
|
||||
self.valuenames = set(self.config_values.keys())
|
||||
config = {'__file__': path.join(dirname, filename)}
|
||||
olddir = os.getcwd()
|
||||
try:
|
||||
@ -85,12 +89,20 @@ class Config(object):
|
||||
execfile(config['__file__'], config)
|
||||
finally:
|
||||
os.chdir(olddir)
|
||||
self.__dict__.update(config)
|
||||
for name in config:
|
||||
if name in self.valuenames:
|
||||
self.__dict__[name] = config[name]
|
||||
self.setup = config.get('setup', None)
|
||||
|
||||
def init_defaults(self):
|
||||
for val in self.values:
|
||||
if val not in self.__dict__:
|
||||
self.__dict__[val] = self.values[val][0]
|
||||
def __getattr__(self, name):
|
||||
if name.startswith('_'):
|
||||
raise AttributeError(name)
|
||||
if name not in self.valuenames:
|
||||
raise AttributeError('No such config value: %s' % name)
|
||||
default = self.config_values[name][0]
|
||||
if callable(default):
|
||||
return default(self)
|
||||
return default
|
||||
|
||||
def __getitem__(self, name):
|
||||
return getattr(self, name)
|
||||
@ -102,4 +114,4 @@ class Config(object):
|
||||
delattr(self, name)
|
||||
|
||||
def __contains__(self, name):
|
||||
return hasattr(self, name)
|
||||
return name in self.valuenames
|
||||
|
@ -129,9 +129,8 @@ def build_hhx(builder, outdir, outname):
|
||||
builder.info('writing project file...')
|
||||
f = open(path.join(outdir, outname+'.hhp'), 'w')
|
||||
try:
|
||||
title = builder.config.html_title or \
|
||||
'%s v%s documentation' % (builder.config.project, builder.config.release)
|
||||
f.write(project_template % {'outname': outname, 'title': title,
|
||||
f.write(project_template % {'outname': outname,
|
||||
'title': builder.config.html_title,
|
||||
'version': builder.config.version,
|
||||
'project': builder.config.project})
|
||||
if not outdir.endswith(os.sep):
|
||||
@ -150,7 +149,8 @@ def build_hhx(builder, outdir, outname):
|
||||
try:
|
||||
f.write(contents_header)
|
||||
# special books
|
||||
f.write('<LI> ' + object_sitemap % ('Main page', 'index.html'))
|
||||
f.write('<LI> ' + object_sitemap % (builder.config.html_short_title,
|
||||
'index.html'))
|
||||
if builder.config.html_use_modindex:
|
||||
f.write('<LI> ' + object_sitemap % ('Global Module Index', 'modindex.html'))
|
||||
# the TOC
|
||||
|
@ -105,6 +105,9 @@ html_style = 'default.css'
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (within the static path) to place at the top of
|
||||
# the sidebar.
|
||||
#html_logo = None
|
||||
|
@ -25,7 +25,7 @@
|
||||
title="Customize your viewing settings" accesskey="S">settings</a> |</li>
|
||||
{%- endif %}
|
||||
{%- block rootrellink %}
|
||||
<li><a href="{{ pathto('index') }}">{{ docstitle }}</a>{{ reldelim1 }}</li>
|
||||
<li><a href="{{ pathto('index') }}">{{ shorttitle }}</a>{{ reldelim1 }}</li>
|
||||
{%- endblock %}
|
||||
{%- for parent in parents %}
|
||||
<li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a>{{ reldelim1 }}</li>
|
||||
@ -185,6 +185,9 @@
|
||||
{%- if last_updated %}
|
||||
Last updated on {{ last_updated }}.
|
||||
{%- endif %}
|
||||
{%- if show_sphinx %}
|
||||
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user