| Age | Commit message (Collapse) | Author |
|
HashedFilesMixin.
Signed-off-by: SaJH <wogur981208@gmail.com>
|
|
|
|
|
|
ManifestStaticFilesStorage when STATIC_URL is set to /.
|
|
ManifestStaticFilesStorage.
Regression in 781b44240a06f0c868254f40f36ce46c927f56d1.
|
|
post_process.
|
|
This adds ManifestFilesMixin.manifest_hash attribute exposing a "hash"
of the full manifest. This allows applications to determine when their
static files have changed.
|
|
Co-authored-by: James Bligh <james.bligh@silvercloudhealth.com>
|
|
|
|
references.
|
|
Follow up to dc8bb35e39388d41b1f38b6c5d0181224e075f16.
The Webpack default is to output CSS source map comments like
`/*# sourceMappingURL=main.css.map*/`. Also, Chromium allows tabs.
|
|
|
|
ManifestStaticFilesStorage."
This reverts commit 91e21836f667c784a8a63ab1f18d81f553e679cb.
`export` and `import` directives have several syntax variants and not
all of them were properly covered.
Thanks Hervé Le Roy for the report.
|
|
for multiline files.
Switched regex to multiline mode in order to match per-line, rather
than against the whole file.
Thanks to Joseph Abrahams for the report.
Regression in 781b44240a06f0c868254f40f36ce46c927f56d1.
|
|
|
|
|
|
static and storage directories on Python 3.7+.
Thanks WhiteSage for the report.
|
|
|
|
|
|
|
|
|
|
Thanks Simon Meers for the initial patch, and Tim Graham for the review.
|
|
When running collectstatic with a hashing static file storage backend,
URLs referencing other files were normalized with posixpath.normpath.
This could corrupt URLs: for example 'a.css#b/../c' became just 'c'.
Normalization seems to be an artifact of the historical implementation.
It contained a home-grown implementation of posixpath.join which relied
on counting occurrences of .. and /, so multiple / had to be collapsed.
The new implementation introduced in the previous commit doesn't suffer
from this issue. So it seems safe to remove the normalization.
There was a test for this normalization behavior but I don't think it's
a good test. Django shouldn't modify CSS that way. If a developer has
rendundant /s, it's mostly an aesthetic issue and it isn't Django's job
to fix it. Conversely, if the user wants a series of /s, perhaps in the
URL fragment, Django shouldn't destroy it.
Refs #26249.
|
|
referenced by absolute URL.
collectstatic crashed when:
* a hashing static file storage backend was used
* a static file referenced another static file located directly in
STATIC_ROOT (not a subdirectory) with an absolute URL (which must
start with STATIC_URL, which cannot be empty)
It seems to me that the current code reimplements relative path joining
and doesn't handle edge cases correctly. I suspect it assumes that
STATIC_URL is of the form r'/[^/]+/'.
Throwing out that code in favor of the posixpath module makes the logic
easier to follow. Handling absolute paths correctly also becomes easier.
|
|
a path.
A @font-face declaration may contain a fragment that looks like a relative path,
e.g. @font-face { src: url('../fonts/font.svg#../path/like/fragment'); }
In this case, an incorrect path was passed to the storage backend, which raised
an error that caused collectstatic to crash.
|
|
In addition to simplifying the code, this reduces the number of writes.
|
|
This partially reverts commit 949ee521fab106b44218c30577eb55f0097d39cd
refs #21230.
|
|
|
|
|
|
in CachedStaticFilesStorage. Thanks zyegfryed for his work on the patch.
|
|
|