diff options
| author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-02-09 16:21:32 +0900 |
|---|---|---|
| committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-02-09 16:21:32 +0900 |
| commit | 6e0119526a77a2820cf45b7eab3db75a45cb1918 (patch) | |
| tree | cc3c18ff654440d7f01b14f4c6d40b44e99e4620 /sphinx/transforms | |
| parent | f076b6ddf21b20d9eb680c8a502473598a60b6ac (diff) | |
| parent | c86e17d4be336286e31e8252b13b9f85d5a7b750 (diff) | |
| download | sphinx-git-6e0119526a77a2820cf45b7eab3db75a45cb1918.tar.gz | |
Merge branch '2.0'
Diffstat (limited to 'sphinx/transforms')
| -rw-r--r-- | sphinx/transforms/__init__.py | 4 | ||||
| -rw-r--r-- | sphinx/transforms/post_transforms/images.py | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/sphinx/transforms/__init__.py b/sphinx/transforms/__init__.py index 922b22e46..a00f04fdf 100644 --- a/sphinx/transforms/__init__.py +++ b/sphinx/transforms/__init__.py @@ -173,7 +173,9 @@ class AutoNumbering(SphinxTransform): domain = self.env.get_domain('std') # type: StandardDomain for node in self.document.traverse(nodes.Element): - if domain.is_enumerable_node(node) and domain.get_numfig_title(node) is not None: + if (domain.is_enumerable_node(node) and + domain.get_numfig_title(node) is not None and + node['ids'] == []): self.document.note_implicit_target(node) diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index 758e92f0d..d1b513b27 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -9,6 +9,7 @@ """ import os +import re from hashlib import sha1 from math import ceil from typing import Any, Dict, List, Tuple @@ -27,6 +28,7 @@ from sphinx.util.osutil import ensuredir, movefile logger = logging.getLogger(__name__) MAX_FILENAME_LEN = 32 +CRITICAL_PATH_CHAR_RE = re.compile('[:;<>|*" ]') class BaseImageConverter(SphinxTransform): @@ -65,6 +67,7 @@ class ImageDownloader(BaseImageConverter): if basename == '' or len(basename) > MAX_FILENAME_LEN: filename, ext = os.path.splitext(node['uri']) basename = sha1(filename.encode()).hexdigest() + ext + basename = re.sub(CRITICAL_PATH_CHAR_RE, "_", basename) dirname = node['uri'].replace('://', '/').translate({ord("?"): "/", ord("&"): "/"}) @@ -146,6 +149,7 @@ class DataURIExtractor(BaseImageConverter): def get_filename_for(filename: str, mimetype: str) -> str: basename = os.path.basename(filename) + basename = re.sub(CRITICAL_PATH_CHAR_RE, "_", basename) return os.path.splitext(basename)[0] + get_image_extension(mimetype) |
