Projet

Général

Profil

Bug #84816

Mis à jour par Benjamin Dauvergne il y a 5 mois

En tentant d'amener notre infra de thème à utiliser ManifestStaticFileStorage pour obtenir des URLs hashés pour les feuilles de style et leur dépendance j'ai fait crasher crashé @collectstatic@ qui n'arrive pas à trouver certains fichiers référencés, pour la plupart ce sont des versions .woff des polices que nous ne distribuons pas mais qui sont quand même référencées comme alternatives, mais il y a aussi des fichiers images qui je pense devraient être référencés correctement mais ne le sont pas car les imports .scss ne corrigent corrige pas les URLs relatives pour les images, exemples sur amiens-metropole:
<pre>
# amien-metropole/style.scss
...
@import·'../includes/categories';
</pre>
dans @includes/_categories.scss@ <pre>
&.#{$category} h2:first-child { background-image: url(img/#{$category}.png); }
</pre>
ce qui donne par exemple ces lignes dans amiens-metropole/style.css :
<pre>
.gru-content div.cell.wcsformsofcategorycell.dechets.toggled h2:first-child {
background-image: url(img/dechets-on.png); }
</pre>
sauf que @amiens-metropole/img/dechets-on.png@ n'existe pas.

Je ne sais pas trop si c'est grave concernant les thèmes, si ça n'a pas été remarqué ou si c'est connu et ça n'a aucun impact mais c'est embêtant pour éventuellement utiliser ManifestStaticFileStorage (j'ai développé en parallèle un ThemesDirectoryFinder pour pouvoir collecter les thèmes avec l'infra classique Django) ou même utiliser un linter sur les fichiers .css à un moment.

J'attache le rapport complet des fichier référencés qui n'existent pas, en rangement de premier niveau le fichier .css et ensuite la liste des chemins relatifs qui ne sont pas trouvés par collecstatic quand il essaie de réécrire le fichier avec des liens contenant le hash du fichier cible.

Il y aussi des soucis avec xstatic-roboto-fontface mais ce sont les histoires de fichiers .woff absent qui ne sont pas très graves et seront simples à corriger et aussi des faux positifs dans jquery-ui parce que la recherche par regexp de Django n'est pas capable d'ignorer les fichiers référencés au milieu d'un commentaire.

Retour