BlogoText / blogotext-addons

Add-ons for BlogoText
https://github.com/BlogoText/blogotext
10 stars 6 forks source link

minify js et css #45

Open B4rb3rouss opened 6 years ago

B4rb3rouss commented 6 years ago

J'ouvre cette issue pour en discuter. On avait parlé d'un système "automatique" qui minifierai les ressources css et js de blogotext. J'ai commencé à travailler dessus un tout petit peu.

Je vois les choses ainsi pour l'instant, mais serait ravi d'avoir d'autres idées :

Souci : le hook doit parser tout le html, avec les défauts et ralentissements que cela entraîne. De plus, il faut mettre les fichiers css minifiés dans le même dossier que celui d'origine (si ces derniers ont des chemins relatifs dedans vers des fonts ou images)

remrem commented 6 years ago

Yop! Déjà dans les tuyaux, ma faute, toujours pas pris le temps de pousser... :/

B4rb3rouss commented 6 years ago

C'est vrai ? ♥♥♥ Trop super ! Bon, j'attends un peu alors ^^

B4rb3rouss commented 6 years ago

Mine de rien, toutes tes améliorations, il y en a un paquet, ça va être une release épatante :)

B4rb3rouss commented 6 years ago

Désolé pour le flood, juste une idée comme ça : selon la méthode que tu as mise en place pour minifier le css et le js, as-tu activé la compression gzip par php en même temps?

remrem commented 6 years ago

A quel niveau ?

B4rb3rouss commented 6 years ago

C'est une question con sans doute. Le fichier php qui génère le css ou le js minifié, il appelle bien "ob_start("ob_gzhandler");" ?

remrem commented 6 years ago

Yep. BT avait déjà ça en place, mais j'ai un peu modifier l'existant pour :

// check if client and server handle gzip
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && extension_loaded('zlib')) {
    // set header
    header('Content-Encoding: gzip');
    // if cache not empty, clean it
    if (ob_get_length() > 0) {
        ob_end_clean();
    }
    // start
    ob_start('ob_gzhandler');
}