mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #9440 from tronical/logo-regression-fix
Fix handling of local paths in html_logo/html_favicon directorives in conf.py
This commit is contained in:
commit
63001f3bb0
@ -468,6 +468,16 @@ class StandaloneHTMLBuilder(Builder):
|
||||
else:
|
||||
self.last_updated = None
|
||||
|
||||
# If the logo or favicon are urls, keep them as-is, otherwise
|
||||
# strip the relative path as the files will be copied into _static.
|
||||
logo = self.config.html_logo or ''
|
||||
favicon = self.config.html_favicon or ''
|
||||
|
||||
if not isurl(logo):
|
||||
logo = path.basename(logo)
|
||||
if not isurl(favicon):
|
||||
favicon = path.basename(favicon)
|
||||
|
||||
self.relations = self.env.collect_relations()
|
||||
|
||||
rellinks: List[Tuple[str, str, str, str]] = []
|
||||
@ -510,8 +520,8 @@ class StandaloneHTMLBuilder(Builder):
|
||||
'rellinks': rellinks,
|
||||
'builder': self.name,
|
||||
'parents': [],
|
||||
'logo': self.config.html_logo or '',
|
||||
'favicon': self.config.html_favicon or '',
|
||||
'logo': logo,
|
||||
'favicon': favicon,
|
||||
'html5_doctype': html5_ready and not self.config.html4_writer,
|
||||
}
|
||||
if self.theme:
|
||||
|
4
tests/roots/test-local-logo/conf.py
Normal file
4
tests/roots/test-local-logo/conf.py
Normal file
@ -0,0 +1,4 @@
|
||||
latex_documents = [
|
||||
('index', 'test.tex', 'The basic Sphinx documentation for testing', 'Sphinx', 'report')
|
||||
]
|
||||
html_logo = "images/img.png"
|
BIN
tests/roots/test-local-logo/images/img.png
Normal file
BIN
tests/roots/test-local-logo/images/img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
32
tests/roots/test-local-logo/index.rst
Normal file
32
tests/roots/test-local-logo/index.rst
Normal file
@ -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
|
@ -1340,6 +1340,15 @@ def test_html_remote_logo(app, status, warning):
|
||||
assert not (app.outdir / 'python-logo.png').exists()
|
||||
|
||||
|
||||
@pytest.mark.sphinx('html', testroot='local-logo')
|
||||
def test_html_local_logo(app, status, warning):
|
||||
app.builder.build_all()
|
||||
|
||||
result = (app.outdir / 'index.html').read_text()
|
||||
assert ('<img class="logo" src="_static/img.png" alt="Logo"/>' in result)
|
||||
assert (app.outdir / '_static/img.png').exists()
|
||||
|
||||
|
||||
@pytest.mark.sphinx('html', testroot='basic')
|
||||
def test_html_sidebar(app, status, warning):
|
||||
ctx = {}
|
||||
|
Loading…
Reference in New Issue
Block a user