mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
merge with stable
This commit is contained in:
commit
c1450ff160
20
CHANGES
20
CHANGES
@ -1,6 +1,20 @@
|
|||||||
Release 1.3 (in development)
|
Release 1.3 (in development)
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
Bugs fixed
|
||||||
|
----------
|
||||||
|
|
||||||
|
* #1335: Fix autosummary template overloading with exclamation prefix like
|
||||||
|
``{% extends "!autosummary/class.rst" %}`` cause infinite recursive function
|
||||||
|
call. This caused by PR#181.
|
||||||
|
|
||||||
|
* #1337: Fix autodoc with ``autoclass_content="both"`` uses useless
|
||||||
|
``object.__init__`` docstring when class does not have ``__init__``.
|
||||||
|
This caused by a change for #1138.
|
||||||
|
|
||||||
|
* #1340: Can't search alphabetical words on the HTML quick search generated
|
||||||
|
with language='ja'.
|
||||||
|
|
||||||
|
|
||||||
Release 1.2 (released Dec 10, 2013)
|
Release 1.2 (released Dec 10, 2013)
|
||||||
===================================
|
===================================
|
||||||
@ -22,8 +36,10 @@ Bugs fixed
|
|||||||
|
|
||||||
* Restore ``versionmodified`` CSS class for versionadded/changed and deprecated
|
* Restore ``versionmodified`` CSS class for versionadded/changed and deprecated
|
||||||
directives.
|
directives.
|
||||||
* Fix: `html_theme_path=['.']` is a trigger of rebuild all documents always
|
|
||||||
(This change keeps the current "theme changes cause a rebuild" feature).
|
* PR#181: Fix `html_theme_path=['.']` is a trigger of rebuild all documents
|
||||||
|
always (This change keeps the current "theme changes cause a rebuild"
|
||||||
|
feature).
|
||||||
|
|
||||||
* #1296: Fix invalid charset in HTML help generated HTML files for default
|
* #1296: Fix invalid charset in HTML help generated HTML files for default
|
||||||
locale.
|
locale.
|
||||||
|
@ -1084,7 +1084,7 @@ class ClassDocumenter(ModuleLevelDocumenter):
|
|||||||
initdocstring = self.get_attr(
|
initdocstring = self.get_attr(
|
||||||
self.get_attr(self.object, '__init__', None), '__doc__')
|
self.get_attr(self.object, '__init__', None), '__doc__')
|
||||||
# for new-style classes, no __init__ means default __init__
|
# for new-style classes, no __init__ means default __init__
|
||||||
if initdocstring == object.__init__.__doc__:
|
if initdocstring.strip() == object.__init__.__doc__.strip():
|
||||||
initdocstring = None
|
initdocstring = None
|
||||||
if initdocstring:
|
if initdocstring:
|
||||||
if content == 'init':
|
if content == 'init':
|
||||||
|
@ -95,9 +95,11 @@ class BuiltinTemplateLoader(TemplateBridge, BaseLoader):
|
|||||||
# then the theme parent paths
|
# then the theme parent paths
|
||||||
loaderchain = pathchain + theme.themepath
|
loaderchain = pathchain + theme.themepath
|
||||||
elif dirs:
|
elif dirs:
|
||||||
pathchain = loaderchain = list(dirs)
|
pathchain = list(dirs)
|
||||||
|
loaderchain = list(dirs)
|
||||||
else:
|
else:
|
||||||
pathchain = loaderchain = []
|
pathchain = []
|
||||||
|
loaderchain = []
|
||||||
|
|
||||||
# prepend explicit template paths
|
# prepend explicit template paths
|
||||||
self.templatepathlen = len(builder.config.templates_path)
|
self.templatepathlen = len(builder.config.templates_path)
|
||||||
|
@ -236,7 +236,7 @@ class TinySegmenter(object):
|
|||||||
score += self.ts_(self.TQ4__, p3 + c2 + c3 + c4)
|
score += self.ts_(self.TQ4__, p3 + c2 + c3 + c4)
|
||||||
p = u'O'
|
p = u'O'
|
||||||
if score > 0:
|
if score > 0:
|
||||||
result.append(word)
|
result.append(word.strip())
|
||||||
word = u''
|
word = u''
|
||||||
p = u'B'
|
p = u'B'
|
||||||
p1 = p2
|
p1 = p2
|
||||||
@ -244,7 +244,7 @@ class TinySegmenter(object):
|
|||||||
p3 = p
|
p3 = p
|
||||||
word += seg[i]
|
word += seg[i]
|
||||||
|
|
||||||
result.append(word)
|
result.append(word.strip())
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "!autosummary/class.rst" %}
|
||||||
|
|
||||||
|
{% block methods %}
|
||||||
|
|
||||||
|
.. note:: autosummary/class.rst method block overloading
|
||||||
|
|
||||||
|
{{ super() }}
|
||||||
|
{% endblock %}
|
6
tests/roots/test-templating/_templates/layout.html
Normal file
6
tests/roots/test-templating/_templates/layout.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{% extends "!layout.html" %}
|
||||||
|
|
||||||
|
{% block extrahead %}
|
||||||
|
<!-- layout overloading -->
|
||||||
|
{{ super() }}
|
||||||
|
{% endblock %}
|
13
tests/roots/test-templating/autosummary_templating.txt
Normal file
13
tests/roots/test-templating/autosummary_templating.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Autosummary templating test
|
||||||
|
===========================
|
||||||
|
|
||||||
|
.. autosummary::
|
||||||
|
:toctree: generated
|
||||||
|
|
||||||
|
sphinx.application.Sphinx
|
||||||
|
|
||||||
|
.. currentmodule:: sphinx.application
|
||||||
|
|
||||||
|
.. autoclass:: TemplateBridge
|
||||||
|
|
||||||
|
.. automethod:: render
|
11
tests/roots/test-templating/conf.py
Normal file
11
tests/roots/test-templating/conf.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
project = 'Sphinx templating <Tests>'
|
||||||
|
source_suffix = '.txt'
|
||||||
|
keep_warnings = True
|
||||||
|
templates_path = ['_templates']
|
||||||
|
release = version = '2013.120'
|
||||||
|
|
||||||
|
extensions = ['sphinx.ext.autosummary']
|
||||||
|
autosummary_generate = ['autosummary_templating']
|
||||||
|
|
7
tests/roots/test-templating/contents.txt
Normal file
7
tests/roots/test-templating/contents.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Welcome to Sphinx Tests's documentation!
|
||||||
|
========================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
autosummary_templating
|
||||||
|
|
@ -334,6 +334,20 @@ def test_get_doc():
|
|||||||
directive.env.config.autoclass_content = 'both'
|
directive.env.config.autoclass_content = 'both'
|
||||||
assert getdocl('class', E) == ['Class docstring', '', 'Init docstring']
|
assert getdocl('class', E) == ['Class docstring', '', 'Init docstring']
|
||||||
|
|
||||||
|
# class does not have __init__ method
|
||||||
|
class F(object):
|
||||||
|
"""Class docstring"""
|
||||||
|
|
||||||
|
# docstring in the __init__ method of base class will be discard
|
||||||
|
for f in (False, True):
|
||||||
|
directive.env.config.autodoc_docstring_signature = f
|
||||||
|
directive.env.config.autoclass_content = 'class'
|
||||||
|
assert getdocl('class', F) == ['Class docstring']
|
||||||
|
directive.env.config.autoclass_content = 'init'
|
||||||
|
assert getdocl('class', F) == ['Class docstring']
|
||||||
|
directive.env.config.autoclass_content = 'both'
|
||||||
|
assert getdocl('class', F) == ['Class docstring']
|
||||||
|
|
||||||
|
|
||||||
@with_setup(setup_test)
|
@with_setup(setup_test)
|
||||||
def test_docstring_processing():
|
def test_docstring_processing():
|
||||||
|
36
tests/test_templating.py
Normal file
36
tests/test_templating.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
test_templating
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Test templating.
|
||||||
|
|
||||||
|
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
|
||||||
|
:license: BSD, see LICENSE for details.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from util import test_roots, with_app
|
||||||
|
|
||||||
|
|
||||||
|
def teardown_module():
|
||||||
|
(test_roots / 'test-templating' / '_build').rmtree(True),
|
||||||
|
|
||||||
|
|
||||||
|
@with_app(buildername='html', srcdir=(test_roots / 'test-templating'))
|
||||||
|
def test_layout_overloading(app):
|
||||||
|
app.builder.build_all()
|
||||||
|
|
||||||
|
result = (app.outdir / 'contents.html').text(encoding='utf-8')
|
||||||
|
|
||||||
|
assert '<!-- layout overloading -->' in result
|
||||||
|
|
||||||
|
|
||||||
|
@with_app(buildername='html', srcdir=(test_roots / 'test-templating'))
|
||||||
|
def test_autosummary_class_template_overloading(app):
|
||||||
|
app.builder.build_all()
|
||||||
|
|
||||||
|
result = (app.outdir / 'generated' / 'sphinx.application.Sphinx.html').text(
|
||||||
|
encoding='utf-8')
|
||||||
|
|
||||||
|
assert 'autosummary/class.rst method block overloading' in result
|
||||||
|
|
Loading…
Reference in New Issue
Block a user