forked from github/pelican
Previously, with RELATIVE_URLS disabled, when both SITEURL and
STATIC_URL were absolute, the final generate data URLs looked wrong like
this (two absolute URLs joined by `/`):
http://your.site/http://static.your.site/image.png
With this patch, the data URLs are correctly:
http://static.your.site/image.png
This also applies to all *_URL configuration options (for example,
ability to have pages and articles on different domains) and behaves
like one expects even with URLs starting with just `//`, thanks to
making use of urllib.parse.urljoin().
However, when RELATIVE_URLS are enabled, urllib.parse.urljoin() doesn't
handle the relative base correctly. In that case, simple os.path.join()
is used. That, however, breaks the above case, but as RELATIVE_URLS are
meant for local development (thus no data scattered across multiple
domains), I don't see any problem.
Just to clarify, this is a fully backwards-compatible change, it only
enables new use cases that were impossible before.
|
||
|---|---|---|
| .. | ||
| tests | ||
| themes | ||
| tools | ||
| __init__.py | ||
| cache.py | ||
| contents.py | ||
| generators.py | ||
| log.py | ||
| paginator.py | ||
| readers.py | ||
| rstdirectives.py | ||
| server.py | ||
| settings.py | ||
| signals.py | ||
| urlwrappers.py | ||
| utils.py | ||
| writers.py | ||