diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2022-02-14 03:03:40 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2022-02-14 03:03:40 +0900 |
commit | 8b23f6db12d9fcdb6e1ca2015ea32e3e2e1fbdb6 (patch) | |
tree | 45c07e0a74fcace45cfb43d7491bab9a98f88087 /sphinx/ext/extlinks.py | |
parent | d7c6fa853ce433640331deab837b3a0c0edb3c9d (diff) | |
parent | 07110b7557a552ecfe702bdd6a2d2f9685cb1af9 (diff) | |
download | sphinx-git-8b23f6db12d9fcdb6e1ca2015ea32e3e2e1fbdb6.tar.gz |
Merge commit '07110b7557a552ecfe702bdd6a2d2f9685cb1af9'
Diffstat (limited to 'sphinx/ext/extlinks.py')
-rw-r--r-- | sphinx/ext/extlinks.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sphinx/ext/extlinks.py b/sphinx/ext/extlinks.py index 096c6e21a..dae407cfb 100644 --- a/sphinx/ext/extlinks.py +++ b/sphinx/ext/extlinks.py @@ -36,7 +36,7 @@ import sphinx from sphinx.application import Sphinx from sphinx.locale import __ from sphinx.transforms.post_transforms import SphinxPostTransform -from sphinx.util import logging +from sphinx.util import logging, rst from sphinx.util.nodes import split_explicit_title from sphinx.util.typing import RoleFunction @@ -65,6 +65,7 @@ class ExternalLinksChecker(SphinxPostTransform): return uri = refnode['refuri'] + title = refnode.astext() for alias, (base_uri, _caption) in self.app.config.extlinks.items(): uri_pattern = re.compile(base_uri.replace('%s', '(?P<value>.+)')) @@ -73,7 +74,11 @@ class ExternalLinksChecker(SphinxPostTransform): # build a replacement suggestion msg = __('hardcoded link %r could be replaced by an extlink ' '(try using %r instead)') - replacement = f":{alias}:`{match.groupdict().get('value')}`" + value = match.groupdict().get('value') + if uri != title: + replacement = f":{alias}:`{rst.escape(title)} <{value}>`" + else: + replacement = f":{alias}:`{value}`" logger.warning(msg, uri, replacement, location=refnode) |