diff --git a/sphinx/builders/html/__init__.py b/sphinx/builders/html/__init__.py index 85669474eab..ad8436c9324 100644 --- a/sphinx/builders/html/__init__.py +++ b/sphinx/builders/html/__init__.py @@ -468,9 +468,6 @@ def prepare_writing(self, docnames: Set[str]) -> None: else: self.last_updated = None - logo = path.basename(self.config.html_logo) if self.config.html_logo else '' - favicon = path.basename(self.config.html_favicon) if self.config.html_favicon else '' - self.relations = self.env.collect_relations() rellinks: List[Tuple[str, str, str, str]] = [] @@ -513,8 +510,8 @@ def prepare_writing(self, docnames: Set[str]) -> None: 'rellinks': rellinks, 'builder': self.name, 'parents': [], - 'logo': logo, - 'favicon': favicon, + 'logo': self.config.html_logo or '', + 'favicon': self.config.html_favicon or '', 'html5_doctype': html5_ready and not self.config.html4_writer, } if self.theme: diff --git a/tests/roots/test-remote-logo/conf.py b/tests/roots/test-remote-logo/conf.py new file mode 100644 index 00000000000..07949ba91fc --- /dev/null +++ b/tests/roots/test-remote-logo/conf.py @@ -0,0 +1,5 @@ +latex_documents = [ + ('index', 'test.tex', 'The basic Sphinx documentation for testing', 'Sphinx', 'report') +] +html_logo = "https://www.python.org/static/img/python-logo.png" +html_favicon = "https://www.python.org/static/favicon.ico" diff --git a/tests/roots/test-remote-logo/index.rst b/tests/roots/test-remote-logo/index.rst new file mode 100644 index 00000000000..48407e643c4 --- /dev/null +++ b/tests/roots/test-remote-logo/index.rst @@ -0,0 +1,32 @@ +The basic Sphinx documentation for testing +========================================== + +Sphinx is a tool that makes it easy to create intelligent and beautiful +documentation for Python projects (or other documents consisting of multiple +reStructuredText sources), written by Georg Brandl. It was originally created +for the new Python documentation, and has excellent facilities for Python +project documentation, but C/C++ is supported as well, and more languages are +planned. + +Sphinx uses reStructuredText as its markup language, and many of its strengths +come from the power and straightforwardness of reStructuredText and its parsing +and translating suite, the Docutils. + +features +-------- + +Among its features are the following: + +* Output formats: HTML (including derivative formats such as HTML Help, Epub + and Qt Help), plain text, manual pages and LaTeX or direct PDF output + using rst2pdf +* Extensive cross-references: semantic markup and automatic links + for functions, classes, glossary terms and similar pieces of information +* Hierarchical structure: easy definition of a document tree, with automatic + links to siblings, parents and children +* Automatic indices: general index as well as a module index +* Code handling: automatic highlighting using the Pygments highlighter +* Flexible HTML output using the Jinja 2 templating engine +* Various extensions are available, e.g. for automatic testing of snippets + and inclusion of appropriately formatted docstrings +* Setuptools integration diff --git a/tests/test_build_html.py b/tests/test_build_html.py index c74552d9e83..2e53bdc54a8 100644 --- a/tests/test_build_html.py +++ b/tests/test_build_html.py @@ -1330,6 +1330,16 @@ def test_html_remote_images(app, status, warning): assert not (app.outdir / 'python-logo.png').exists() +@pytest.mark.sphinx('html', testroot='remote-logo') +def test_html_remote_logo(app, status, warning): + app.builder.build_all() + + result = (app.outdir / 'index.html').read_text() + assert ('' in result) + assert ('' in result) + assert not (app.outdir / 'python-logo.png').exists() + + @pytest.mark.sphinx('html', testroot='basic') def test_html_sidebar(app, status, warning): ctx = {}