mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
* Use a customizable title for the docs.
* Fix up the clumsy index template handling.
This commit is contained in:
parent
dc207da14c
commit
ec04b2f4ff
33
CHANGES
33
CHANGES
@ -1,6 +1,29 @@
|
|||||||
Changes in trunk
|
Changes in trunk
|
||||||
================
|
================
|
||||||
|
|
||||||
|
Incompatible changes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* Jinja, the template engine used for the default HTML templates, is now
|
||||||
|
no longer shipped with Sphinx. If it is not installed automatically for
|
||||||
|
you (it is now listed as a dependency in ``setup.py``), install it manually
|
||||||
|
from PyPI. This will also be needed if you're using Sphinx from a SVN
|
||||||
|
checkout; in that case please also remove the ``sphinx/jinja`` directory
|
||||||
|
that may be left over from old revisions.
|
||||||
|
|
||||||
|
* The clumsy handling of the ``index.html`` template was removed. The config
|
||||||
|
value ``html_index`` is gone, and ``html_additional_pages`` should be used
|
||||||
|
instead. If you need it, the old ``index.html`` template is still there,
|
||||||
|
called ``defindex.html``, and you can port your html_index template, using
|
||||||
|
Jinja inheritance, by changing your template::
|
||||||
|
|
||||||
|
{% extends "defindex.html" %}
|
||||||
|
{% block tables %}
|
||||||
|
... old html_index template content ...
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
and putting ``'index': name of your template`` in ``html_additional_pages``.
|
||||||
|
|
||||||
New features added
|
New features added
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@ -27,6 +50,16 @@ New features added
|
|||||||
- Allow giving multiple options in a ``cmdoption`` directive.
|
- Allow giving multiple options in a ``cmdoption`` directive.
|
||||||
- Fix display of class members without explicit class name given.
|
- Fix display of class members without explicit class name given.
|
||||||
|
|
||||||
|
* Templates:
|
||||||
|
|
||||||
|
- ``index.html`` renamed to ``defindex.html``, see above.
|
||||||
|
- There's a new config value, ``html_title``, that controls the overall
|
||||||
|
"title" of the set of Sphinx docs. It is used instead everywhere instead of
|
||||||
|
"Projectname vX.Y documentation" now.
|
||||||
|
- All references to "documentation" in the templates have been removed, so
|
||||||
|
that it is now easier to use Sphinx for non-documentation documents with
|
||||||
|
the default templates.
|
||||||
|
|
||||||
Thanks to Jacob Kaplan-Moss, Talin and Sebastian Wiesner for suggestions.
|
Thanks to Jacob Kaplan-Moss, Talin and Sebastian Wiesner for suggestions.
|
||||||
|
|
||||||
Bugs fixed
|
Bugs fixed
|
||||||
|
5
doc/_templates/index.html
vendored
5
doc/_templates/index.html
vendored
@ -1,11 +1,6 @@
|
|||||||
{% extends "layout.html" %}
|
{% extends "layout.html" %}
|
||||||
{% set title = 'Overview' %}
|
{% set title = 'Overview' %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<!-- <p style="background-color: #fcc; font-size: large; border: 1px solid #f00; padding: 10px;">
|
|
||||||
<b>Attention:</b> this is a preview. Sphinx is not released yet on PyPI,
|
|
||||||
and the contents of this documentation are subject to change.
|
|
||||||
</p> -->
|
|
||||||
|
|
||||||
<h1>Welcome</h1>
|
<h1>Welcome</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -109,6 +109,3 @@ The special document names (and pages generated for them) are:
|
|||||||
Though only few such names are currently used by Sphinx, you should not create
|
Though only few such names are currently used by Sphinx, you should not create
|
||||||
documents or document-containing directories with such names. (Using ``_`` as
|
documents or document-containing directories with such names. (Using ``_`` as
|
||||||
a prefix for a custom template directory is fine.)
|
a prefix for a custom template directory is fine.)
|
||||||
|
|
||||||
``index`` is a special name, too, if the :confval:`html_index` config value is
|
|
||||||
nonempty.
|
|
||||||
|
@ -95,7 +95,7 @@ html_sidebars = {'index': 'indexsidebar.html'}
|
|||||||
|
|
||||||
# Additional templates that should be rendered to pages, maps page names to
|
# Additional templates that should be rendered to pages, maps page names to
|
||||||
# templates.
|
# templates.
|
||||||
#html_additional_pages = {}
|
html_additional_pages = {'index': 'index.html'}
|
||||||
|
|
||||||
# If true, the reST sources are included in the HTML build as _sources/<name>.
|
# If true, the reST sources are included in the HTML build as _sources/<name>.
|
||||||
#html_copy_source = True
|
#html_copy_source = True
|
||||||
|
@ -149,6 +149,14 @@ Options for HTML output
|
|||||||
These options influence HTML as well as HTML Help output, and other builders
|
These options influence HTML as well as HTML Help output, and other builders
|
||||||
that use Sphinx' HTMLWriter class.
|
that use Sphinx' HTMLWriter class.
|
||||||
|
|
||||||
|
.. confval:: html_title
|
||||||
|
|
||||||
|
The "title" for HTML documentation generated with Sphinx' own templates.
|
||||||
|
This is appended to the ``<title>`` tag of individual pages, and used in the
|
||||||
|
navigation bar as the "topmost" element. It defaults to :samp:`'{<project>}
|
||||||
|
v{<revision>} documentation'`, where the placeholders are replaced by the
|
||||||
|
config values of the same name.
|
||||||
|
|
||||||
.. confval:: html_style
|
.. confval:: html_style
|
||||||
|
|
||||||
The style sheet to use for HTML pages. A file of that name must exist either
|
The style sheet to use for HTML pages. A file of that name must exist either
|
||||||
@ -173,17 +181,6 @@ that use Sphinx' HTMLWriter class.
|
|||||||
If true, *SmartyPants* will be used to convert quotes and dashes to
|
If true, *SmartyPants* will be used to convert quotes and dashes to
|
||||||
typographically correct entities. Default: ``True``.
|
typographically correct entities. Default: ``True``.
|
||||||
|
|
||||||
.. confval:: html_index
|
|
||||||
|
|
||||||
Content template for the index page, filename relative to this file. If this
|
|
||||||
is not the empty string, the "index" document will not be created from a
|
|
||||||
reStructuredText file but from the ``index.html`` template. The template you
|
|
||||||
specify in this value will be included in the ``index.html``, together with
|
|
||||||
a list of tables.
|
|
||||||
|
|
||||||
If you want to completely override the resulting ``index`` document, set this
|
|
||||||
to some nonempty value and override the ``index.html`` template.
|
|
||||||
|
|
||||||
.. confval:: html_sidebars
|
.. confval:: html_sidebars
|
||||||
|
|
||||||
Custom sidebar templates, must be a dictionary that maps document names to
|
Custom sidebar templates, must be a dictionary that maps document names to
|
||||||
@ -210,6 +207,19 @@ that use Sphinx' HTMLWriter class.
|
|||||||
This will render the template ``customdownload.html`` as the page
|
This will render the template ``customdownload.html`` as the page
|
||||||
``download.html``.
|
``download.html``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Earlier versions of Sphinx had a value called :confval:`html_index` which
|
||||||
|
was a clumsy way of controlling the content of the "index" document. If
|
||||||
|
you used this feature, migrate it by adding an ``'index'`` key to this
|
||||||
|
setting, with your custom template as the value, and in your custom
|
||||||
|
template, use ::
|
||||||
|
|
||||||
|
{% extend "defindex.html" %}
|
||||||
|
{% block tables %}
|
||||||
|
... old template content ...
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
.. confval:: html_use_modindex
|
.. confval:: html_use_modindex
|
||||||
|
|
||||||
If true, add a module index to the HTML documents. Default is ``True``.
|
If true, add a module index to the HTML documents. Default is ``True``.
|
||||||
|
@ -317,12 +317,17 @@ class StandaloneHTMLBuilder(Builder):
|
|||||||
else:
|
else:
|
||||||
self.last_updated = None
|
self.last_updated = None
|
||||||
|
|
||||||
|
docstitle = self.config.html_title or \
|
||||||
|
'%s v%s documentation' % (self.config.project,
|
||||||
|
self.config.release)
|
||||||
|
|
||||||
self.globalcontext = dict(
|
self.globalcontext = dict(
|
||||||
project = self.config.project,
|
project = self.config.project,
|
||||||
copyright = self.config.copyright,
|
|
||||||
release = self.config.release,
|
release = self.config.release,
|
||||||
version = self.config.version,
|
version = self.config.version,
|
||||||
last_updated = self.last_updated,
|
last_updated = self.last_updated,
|
||||||
|
docstitle = docstitle,
|
||||||
|
copyright = self.config.copyright,
|
||||||
style = self.config.html_style,
|
style = self.config.html_style,
|
||||||
use_modindex = self.config.html_use_modindex,
|
use_modindex = self.config.html_use_modindex,
|
||||||
builder = self.name,
|
builder = self.name,
|
||||||
@ -463,12 +468,6 @@ class StandaloneHTMLBuilder(Builder):
|
|||||||
self.info(' '+pagename, nonl=1)
|
self.info(' '+pagename, nonl=1)
|
||||||
self.handle_page(pagename, {}, template)
|
self.handle_page(pagename, {}, template)
|
||||||
|
|
||||||
# the index page
|
|
||||||
indextemplate = self.config.html_index
|
|
||||||
if indextemplate:
|
|
||||||
self.info(' index', nonl=1)
|
|
||||||
self.handle_page('index', {'indextemplate': indextemplate}, 'index.html')
|
|
||||||
|
|
||||||
self.info()
|
self.info()
|
||||||
|
|
||||||
# copy image files
|
# copy image files
|
||||||
@ -859,9 +858,14 @@ class ChangesBuilder(Builder):
|
|||||||
otherchanges.setdefault((docname, title), []).append(
|
otherchanges.setdefault((docname, title), []).append(
|
||||||
(entry, docname, lineno))
|
(entry, docname, lineno))
|
||||||
|
|
||||||
|
docstitle = self.config.html_title or \
|
||||||
|
'%s v%s documentation' % (self.config.project,
|
||||||
|
self.config.release)
|
||||||
|
|
||||||
ctx = {
|
ctx = {
|
||||||
'project': self.config.project,
|
'project': self.config.project,
|
||||||
'version': version,
|
'version': version,
|
||||||
|
'docstitle': docstitle,
|
||||||
'libchanges': sorted(libchanges.iteritems()),
|
'libchanges': sorted(libchanges.iteritems()),
|
||||||
'apichanges': sorted(apichanges),
|
'apichanges': sorted(apichanges),
|
||||||
'otherchanges': sorted(otherchanges.iteritems()),
|
'otherchanges': sorted(otherchanges.iteritems()),
|
||||||
|
@ -45,12 +45,12 @@ class Config(object):
|
|||||||
template_bridge = (None, False),
|
template_bridge = (None, False),
|
||||||
|
|
||||||
# HTML options
|
# HTML options
|
||||||
|
html_title = (None, False),
|
||||||
html_style = ('default.css', False),
|
html_style = ('default.css', False),
|
||||||
html_static_path = ([], False),
|
html_static_path = ([], False),
|
||||||
html_last_updated_fmt = ('%b %d, %Y', False),
|
html_last_updated_fmt = ('%b %d, %Y', False),
|
||||||
html_use_smartypants = (True, False),
|
html_use_smartypants = (True, False),
|
||||||
html_translator_class = (None, False),
|
html_translator_class = (None, False),
|
||||||
html_index = ('', False),
|
|
||||||
html_sidebars = ({}, False),
|
html_sidebars = ({}, False),
|
||||||
html_additional_pages = ({}, False),
|
html_additional_pages = ({}, False),
|
||||||
html_use_modindex = (True, False),
|
html_use_modindex = (True, False),
|
||||||
|
@ -96,6 +96,10 @@ pygments_style = 'sphinx'
|
|||||||
# given in html_static_path.
|
# given in html_static_path.
|
||||||
html_style = 'default.css'
|
html_style = 'default.css'
|
||||||
|
|
||||||
|
# The name for this set of Sphinx documents. If None, it defaults to
|
||||||
|
# "<project> v<release> documentation".
|
||||||
|
#html_title = None
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
@ -109,9 +113,6 @@ html_last_updated_fmt = '%%b %%d, %%Y'
|
|||||||
# typographically correct entities.
|
# typographically correct entities.
|
||||||
#html_use_smartypants = True
|
#html_use_smartypants = True
|
||||||
|
|
||||||
# Content template for the index page.
|
|
||||||
#html_index = ''
|
|
||||||
|
|
||||||
# Custom sidebar templates, maps document names to template names.
|
# Custom sidebar templates, maps document names to template names.
|
||||||
#html_sidebars = {}
|
#html_sidebars = {}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"http://www.w3.org/TR/html4/frameset.dtd">
|
"http://www.w3.org/TR/html4/frameset.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Changes in Version {{ version }} — {{ project }} Documentation</title>
|
<title>Changes in Version {{ version }} — {{ docstitle }}</title>
|
||||||
</head>
|
</head>
|
||||||
<frameset cols="45%,*">
|
<frameset cols="45%,*">
|
||||||
<frame name="main" src="changes.html">
|
<frame name="main" src="changes.html">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>{{ filename }} — {{ project }} Documentation</title>
|
<title>{{ filename }} — {{ docstitle }}</title>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.hl { background-color: yellow }
|
.hl { background-color: yellow }
|
||||||
</style>
|
</style>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="default.css">
|
<link rel="stylesheet" href="default.css">
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<title>Changes in Version {{ version }} — {{ project }} Documentation</title>
|
<title>Changes in Version {{ version }} — {{ docstitle }}</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="document">
|
<div class="document">
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
{% extends "layout.html" %}
|
{% extends "layout.html" %}
|
||||||
{% set title = 'Overview' %}
|
{% set title = 'Overview' %}
|
||||||
{% set page_links = [
|
|
||||||
(pathto('@rss/recent'), 'application/rss+xml', 'Recent Comments')
|
|
||||||
] %}
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<h1>{{ project }} Documentation</h1>
|
<h1>{{ docstitle }}</h1>
|
||||||
<p>
|
<p>
|
||||||
Welcome! This is the documentation for {{ project }}
|
Welcome! This is
|
||||||
{{ release }}{% if last_updated %}, last updated {{ last_updated }}{% endif %}.
|
{% block description %}the documentation for {{ project }}
|
||||||
|
{{ release }}{% if last_updated %}, last updated {{ last_updated }}{% endif %}{% endblock %}.
|
||||||
</p>
|
</p>
|
||||||
{% if indextemplate %}
|
{% block beforetables %}
|
||||||
{{ rendertemplate(indextemplate) }}
|
{% endblock %}
|
||||||
{% else %}
|
{% block tables %}
|
||||||
<p><strong>Indices and tables:</strong></p>
|
<p><strong>Indices and tables:</strong></p>
|
||||||
<table class="contentstable" align="center"><tr>
|
<table class="contentstable" align="center"><tr>
|
||||||
<td width="50%">
|
<td width="50%">
|
||||||
@ -26,5 +24,7 @@
|
|||||||
<span class="linkdescr">all functions, classes, terms</span></p>
|
<span class="linkdescr">all functions, classes, terms</span></p>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
{% endif %}
|
{% endblock %}
|
||||||
|
{% block aftertables %}
|
||||||
|
{% endblock %}
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -23,7 +23,7 @@
|
|||||||
title="Customize your viewing settings" accesskey="S">settings</a> |</li>
|
title="Customize your viewing settings" accesskey="S">settings</a> |</li>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- block rootrellink %}
|
{%- block rootrellink %}
|
||||||
<li><a href="{{ pathto('index') }}">{{ project }} v{{ release }} documentation</a> »</li>
|
<li><a href="{{ pathto('index') }}">{{ docstitle }}</a> »</li>
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
{%- for parent in parents %}
|
{%- for parent in parents %}
|
||||||
<li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a> »</li>
|
<li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a> »</li>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
{%- if builder != 'htmlhelp' %}
|
{%- if builder != 'htmlhelp' %}
|
||||||
{%- set titlesuffix = " — " + project + " Documentation" %}
|
{%- set titlesuffix = " — " + docstitle %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<title>{{ title|striptags }}{{ titlesuffix }}</title>
|
<title>{{ title|striptags }}{{ titlesuffix }}</title>
|
||||||
{%- if builder == 'web' %}
|
{%- if builder == 'web' %}
|
||||||
@ -70,7 +70,7 @@
|
|||||||
{%- if hasdoc('copyright') %}
|
{%- if hasdoc('copyright') %}
|
||||||
<link rel="copyright" title="Copyright" href="{{ pathto('copyright') }}">
|
<link rel="copyright" title="Copyright" href="{{ pathto('copyright') }}">
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<link rel="top" title="{{ project }} Documentation" href="{{ pathto('index') }}">
|
<link rel="top" title="{{ docstitle }}" href="{{ pathto('index') }}">
|
||||||
{%- if parents %}
|
{%- if parents %}
|
||||||
<link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}">
|
<link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}">
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{% extends "layout.html" %}
|
{% extends "layout.html" %}
|
||||||
{% set title = 'Search Documentation' %}
|
{% set title = 'Search' %}
|
||||||
{% block extrahead %}
|
{% block extrahead %}
|
||||||
<script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script>
|
<script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<h1 id="search-documentation">Search Documentation</h1>
|
<h1 id="search-documentation">Search</h1>
|
||||||
<p>
|
<p>
|
||||||
From here you can search the {{ project }} documentation. Enter your search
|
From here you can search these documents. Enter your search
|
||||||
words into the box below and click "search". Note that the search
|
words into the box below and click "search". Note that the search
|
||||||
function will automatically search for all of the words. Pages
|
function will automatically search for all of the words. Pages
|
||||||
containing less words won't appear in the result list.
|
containing less words won't appear in the result list.
|
||||||
|
Loading…
Reference in New Issue
Block a user