mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Change priority of versioning doctrees
This commit is contained in:
6
CHANGES
6
CHANGES
@@ -18,8 +18,9 @@ Incompatible changes
|
||||
* The ``gettext_compact`` attribute is removed from ``document.settings``
|
||||
object. Please use ``config.gettext_compact`` instead.
|
||||
* The processing order on reading phase is changed. smart_quotes, sphinx
|
||||
domains and :event:`doctree-read` event are invoked earlier. For more
|
||||
details, please read a description of :py:meth:`.Sphinx.add_transform()`
|
||||
domains, :event:`doctree-read` event and versioning doctrees are invoked
|
||||
earlier than so far. For more details, please read a description of
|
||||
:py:meth:`.Sphinx.add_transform()`
|
||||
|
||||
Deprecated
|
||||
----------
|
||||
@@ -39,6 +40,7 @@ Deprecated
|
||||
* ``env._nitpick_ignore`` is deprecated
|
||||
* ``app.override_domain()`` is deprecated
|
||||
* ``app.add_stylesheet()`` is deprecated
|
||||
* ``sphinx.versioning.prepare()`` is deprecated
|
||||
|
||||
For more details, see `deprecation APIs list
|
||||
<http://www.sphinx-doc.org/en/master/extdev/index.html#deprecated-apis>`_
|
||||
|
@@ -119,6 +119,11 @@ The following is a list of deprecated interface.
|
||||
- 4.0
|
||||
- :meth:`~sphinx.application.Sphinx.add_css_file()`
|
||||
|
||||
* - ``sphinx.versioning.prepare()``
|
||||
- 1.8
|
||||
- 3.0
|
||||
- ``sphinx.versioning.UIDTransform``
|
||||
|
||||
* - ``sphinx.application.Sphinx.override_domain()``
|
||||
- 1.8
|
||||
- 3.0
|
||||
|
@@ -24,7 +24,7 @@ from docutils.utils import Reporter, get_source_line
|
||||
from six import BytesIO, class_types, next
|
||||
from six.moves import cPickle as pickle
|
||||
|
||||
from sphinx import addnodes, versioning
|
||||
from sphinx import addnodes
|
||||
from sphinx.deprecation import RemovedInSphinx20Warning, RemovedInSphinx30Warning
|
||||
from sphinx.environment.adapters.indexentries import IndexEntries
|
||||
from sphinx.environment.adapters.toctree import TocTree
|
||||
@@ -577,10 +577,6 @@ class BuildEnvironment(object):
|
||||
self.all_docs[docname] = max(
|
||||
time.time(), path.getmtime(self.doc2path(docname)))
|
||||
|
||||
if self.versioning_condition:
|
||||
# add uids for versioning
|
||||
versioning.prepare(doctree)
|
||||
|
||||
# cleanup
|
||||
self.temp_data.clear()
|
||||
self.ref_context.clear()
|
||||
|
@@ -34,6 +34,7 @@ from sphinx.transforms.i18n import (
|
||||
from sphinx.transforms.references import SphinxDomains
|
||||
from sphinx.util import logging
|
||||
from sphinx.util.docutils import LoggingReporter
|
||||
from sphinx.versioning import UIDTransform
|
||||
|
||||
if False:
|
||||
# For type annotation
|
||||
@@ -95,7 +96,7 @@ class SphinxStandaloneReader(SphinxBaseReader):
|
||||
HandleCodeBlocks, AutoNumbering, AutoIndexUpgrader, SortIds,
|
||||
RemoveTranslatableInline, FilterSystemMessages, RefOnlyBulletListTransform,
|
||||
UnreferencedFootnotesDetector, SphinxSmartQuotes, ManpageLink,
|
||||
SphinxDomains, DoctreeReadEvent,
|
||||
SphinxDomains, DoctreeReadEvent, UIDTransform,
|
||||
] # type: List[Transform]
|
||||
|
||||
def __init__(self, app, *args, **kwargs):
|
||||
|
@@ -9,6 +9,7 @@
|
||||
:copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
|
||||
:license: BSD, see LICENSE for details.
|
||||
"""
|
||||
import warnings
|
||||
from itertools import product
|
||||
from operator import itemgetter
|
||||
from uuid import uuid4
|
||||
@@ -17,6 +18,7 @@ from six import iteritems
|
||||
from six.moves import cPickle as pickle
|
||||
from six.moves import range, zip_longest
|
||||
|
||||
from sphinx.deprecation import RemovedInSphinx30Warning
|
||||
from sphinx.transforms import SphinxTransform
|
||||
|
||||
if False:
|
||||
@@ -155,12 +157,15 @@ def levenshtein_distance(a, b):
|
||||
|
||||
class UIDTransform(SphinxTransform):
|
||||
"""Add UIDs to doctree for versioning."""
|
||||
default_priority = 100
|
||||
default_priority = 880
|
||||
|
||||
def apply(self):
|
||||
# type: () -> None
|
||||
env = self.env
|
||||
old_doctree = None
|
||||
if not env.versioning_condition:
|
||||
return
|
||||
|
||||
if env.versioning_compare:
|
||||
# get old doctree
|
||||
try:
|
||||
@@ -180,5 +185,7 @@ class UIDTransform(SphinxTransform):
|
||||
def prepare(document):
|
||||
# type: (nodes.Node) -> None
|
||||
"""Simple wrapper for UIDTransform."""
|
||||
warnings.warn('versioning.prepare() is deprecated. Use UIDTransform instead.',
|
||||
RemovedInSphinx30Warning)
|
||||
transform = UIDTransform(document)
|
||||
transform.apply()
|
||||
|
Reference in New Issue
Block a user