Changeset 82883 in spip-zone


Ignore:
Timestamp:
Jun 6, 2014, 3:03:50 PM (5 years ago)
Author:
cedric@…
Message:

2 bugfix sur les CSS compilées :

  • quand le HOST change, il faut aussi que la css compilée change car elle contient des urls absolues relatives au HOST
  • on utilise des urls absolues au protocole implicite en pour ne pas dépendre de http/https
Location:
_plugins_/less-css/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/less-css/trunk/lesscss_fonctions.php

    r81533 r82883  
    2626                $import_dirs = array();
    2727                foreach($path as $p){
    28                         $import_dirs[$p] = url_absolue($p?$p:"./");
     28                        $import_dirs[$p] = protocole_implicite(url_absolue($p?$p:"./"));
    2929                }
    3030        }
     
    3535
    3636        try {
    37                 $parser->parse($style,$contexte['file']?url_absolue($contexte['file']):null);
     37                $url_absolue = ($contexte['file']?protocole_implicite(url_absolue($contexte['file'])):null);
     38                $parser->parse($style,$url_absolue);
    3839                $out = $parser->getCss();
    3940
     
    9495                        $chemin = md5(serialize($chemin));
    9596                }
     97                // url de base de la source
     98                // qui se trouvera dans la css car url absolue des images
     99                // il faut que la css generee en depende
     100                $url_base_source = protocole_implicite(url_absolue($source));
     101
    96102                $f = basename($source,$r[0]);
    97103                $f = sous_repertoire (_DIR_VAR, 'cache-less')
    98104                . preg_replace(",(.*?)(_rtl|_ltr)?$,",
    99                                 "\\1-cssify-" . substr(md5("$source-lesscss-$chemin"), 0,7) . "\\2",
     105                                "\\1-cssify-" . substr(md5("$url_base_source-lesscss-$chemin"), 0,7) . "\\2",
    100106                                $f, 1)
    101107                . '.css';
     
    126132                }
    127133
    128                 # passer la css en url absolue (on ne peut pas le faire avant, car c'est du LESS, pas des CSS)
    129                 $contenu = urls_absolues_css($contenu, $source);
     134                # passer la css en url absolue
     135                # plus la peine : le parser CSS resoud les ULRs absolues des images en meme temps qu'il les cherche dans le path
     136                # $contenu = urls_absolues_css($contenu, $url_base_source);
    130137
    131138                // ecrire le fichier destination, en cas d'echec renvoyer la source
     
    175182 *
    176183 * @param string $head
    177  * @return void
     184 * @return string
    178185 */
    179186function lesscss_cssify_head($head){
  • _plugins_/less-css/trunk/plugin.xml

    r81533 r82883  
    55        <auteur>Cedric Morin</auteur>
    66        <licence>MIT</licence>
    7         <version>1.0.1</version>
     7        <version>1.0.2</version>
    88        <etat>dev</etat>
    99        <icon>img/lesscss-32.png</icon>
Note: See TracChangeset for help on using the changeset viewer.