mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge branch '3.x'
This commit is contained in:
commit
5e8f814e81
10
CHANGES
10
CHANGES
@ -123,7 +123,7 @@ Bugs fixed
|
||||
Testing
|
||||
--------
|
||||
|
||||
Release 3.5.3 (in development)
|
||||
Release 3.5.4 (in development)
|
||||
==============================
|
||||
|
||||
Dependencies
|
||||
@ -144,6 +144,14 @@ Bugs fixed
|
||||
Testing
|
||||
--------
|
||||
|
||||
Release 3.5.3 (released Mar 20, 2021)
|
||||
=====================================
|
||||
|
||||
Features added
|
||||
--------------
|
||||
|
||||
* #8959: using UNIX path separator in image directive confuses Sphinx on Windows
|
||||
|
||||
Release 3.5.2 (released Mar 06, 2021)
|
||||
=====================================
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
import os
|
||||
import pickle
|
||||
import posixpath
|
||||
from collections import defaultdict
|
||||
from copy import copy
|
||||
from datetime import datetime
|
||||
@ -34,6 +33,7 @@ from sphinx.util import DownloadFiles, FilenameUniqDict, logging
|
||||
from sphinx.util.docutils import LoggingReporter
|
||||
from sphinx.util.i18n import CatalogRepository, docname_to_domain
|
||||
from sphinx.util.nodes import is_translatable
|
||||
from sphinx.util.osutil import canon_path, os_path
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from sphinx.application import Sphinx
|
||||
@ -335,6 +335,7 @@ class BuildEnvironment:
|
||||
source dir, while relative filenames are relative to the dir of the
|
||||
containing document.
|
||||
"""
|
||||
filename = os_path(filename)
|
||||
if filename.startswith('/') or filename.startswith(os.sep):
|
||||
rel_fn = filename[1:]
|
||||
else:
|
||||
@ -342,7 +343,7 @@ class BuildEnvironment:
|
||||
base=None))
|
||||
rel_fn = path.join(docdir, filename)
|
||||
|
||||
return (posixpath.normpath(rel_fn),
|
||||
return (canon_path(path.normpath(rel_fn)),
|
||||
path.normpath(path.join(self.srcdir, rel_fn)))
|
||||
|
||||
@property
|
||||
|
@ -16,7 +16,6 @@ import pytest
|
||||
from docutils import nodes
|
||||
|
||||
from sphinx.errors import SphinxError
|
||||
from sphinx.testing.path import path
|
||||
|
||||
|
||||
def request_session_head(url, **kwargs):
|
||||
@ -137,17 +136,16 @@ def test_image_glob(app, status, warning):
|
||||
doctree = app.env.get_doctree('subdir/index')
|
||||
|
||||
assert isinstance(doctree[0][1], nodes.image)
|
||||
sub = path('subdir')
|
||||
assert doctree[0][1]['candidates'] == {'*': sub / 'rimg.png'}
|
||||
assert doctree[0][1]['uri'] == sub / 'rimg.png'
|
||||
assert doctree[0][1]['candidates'] == {'*': 'subdir/rimg.png'}
|
||||
assert doctree[0][1]['uri'] == 'subdir/rimg.png'
|
||||
|
||||
assert isinstance(doctree[0][2], nodes.image)
|
||||
assert doctree[0][2]['candidates'] == {'application/pdf': 'subdir/svgimg.pdf',
|
||||
'image/svg+xml': 'subdir/svgimg.svg'}
|
||||
assert doctree[0][2]['uri'] == sub / 'svgimg.*'
|
||||
assert doctree[0][2]['uri'] == 'subdir/svgimg.*'
|
||||
|
||||
assert isinstance(doctree[0][3], nodes.figure)
|
||||
assert isinstance(doctree[0][3][0], nodes.image)
|
||||
assert doctree[0][3][0]['candidates'] == {'application/pdf': 'subdir/svgimg.pdf',
|
||||
'image/svg+xml': 'subdir/svgimg.svg'}
|
||||
assert doctree[0][3][0]['uri'] == sub / 'svgimg.*'
|
||||
assert doctree[0][3][0]['uri'] == 'subdir/svgimg.*'
|
||||
|
Loading…
Reference in New Issue
Block a user