summaryrefslogtreecommitdiff
path: root/sphinx/builders/html.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-06-18 21:39:07 +0900
committerGitHub <noreply@github.com>2019-06-18 21:39:07 +0900
commitaeb9401c203952d9978ad0436dcca73bb04c49aa (patch)
tree949819cefed0e2f192d1d20b8e158615aef2666c /sphinx/builders/html.py
parent288bf231e68e327876510c9b39b16b7512718373 (diff)
parentd8208d406a0c470b34de79c4b054ba05f50ae34c (diff)
downloadsphinx-git-aeb9401c203952d9978ad0436dcca73bb04c49aa.tar.gz
Merge pull request #6500 from tk0miya/1464_warning_html_static_path_inside_outdir
Close #1464: html: warn html_static_path is inside outdir
Diffstat (limited to 'sphinx/builders/html.py')
-rw-r--r--sphinx/builders/html.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py
index 147ac14a9..5772d1cb0 100644
--- a/sphinx/builders/html.py
+++ b/sphinx/builders/html.py
@@ -1151,17 +1151,25 @@ def validate_math_renderer(app: Sphinx) -> None:
def validate_html_extra_path(app: Sphinx, config: Config) -> None:
"""Check html_extra_paths setting."""
for entry in config.html_extra_path[:]:
- if not path.exists(path.join(app.confdir, entry)):
+ extra_path = path.normpath(path.join(app.confdir, entry))
+ if not path.exists(extra_path):
logger.warning(__('html_extra_path entry %r does not exist'), entry)
config.html_extra_path.remove(entry)
+ elif path.commonpath([app.outdir, extra_path]) == app.outdir:
+ logger.warning(__('html_extra_path entry %r is placed inside outdir'), entry)
+ config.html_extra_path.remove(entry)
def validate_html_static_path(app: Sphinx, config: Config) -> None:
"""Check html_static_paths setting."""
for entry in config.html_static_path[:]:
- if not path.exists(path.join(app.confdir, entry)):
+ static_path = path.normpath(path.join(app.confdir, entry))
+ if not path.exists(static_path):
logger.warning(__('html_static_path entry %r does not exist'), entry)
config.html_static_path.remove(entry)
+ elif path.commonpath([app.outdir, static_path]) == app.outdir:
+ logger.warning(__('html_static_path entry %r is placed inside outdir'), entry)
+ config.html_static_path.remove(entry)
def validate_html_logo(app: Sphinx, config: Config) -> None: