diff options
Diffstat (limited to 'sphinx/builders/html.py')
-rw-r--r-- | sphinx/builders/html.py | 12 |
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: |