PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 29/11/2018 03:51:04

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 180
Site Web

Minification des fichiers CSS

Il existe déjà beaucoup d'outils pour réduire la taille des fichiers CSS.
Mais généralement, il utilise des langages comme NodeJS, Python, Perl.

Voici un petit script en PHP qui fait presque aussi bien :
#!/usr/bin/env php

[== PHP ==]
<?php

const PATTERN = "%-16s %6d octets\n";
const END_OF_LINES = '@\s*(\n|\r|(?:\r\n))@';
const NO_DUPLICATE = '@\s*([\s;])\s*@';

const COMMENT = '@\/\*.*\*/@Us';

function minify($filename, $target) {
	if(!file_exists($filename)) { return; }
	$content = file_get_contents($filename);
	file_put_contents(
		$target,
		preg_replace(
			[
				COMMENT, // must be first
				END_OF_LINES,
				NO_DUPLICATE,
				'@\s*([:;{}()\[\]])\s*@'
			],[
				'',
				'',
				'$1',
				'$1'
			],
			$content
		)
	);
}

echo "\n";

foreach(glob('*.css') as $filename) {
	if(!preg_match('@\.min\.css$@', $filename)) {
		printf(PATTERN, $filename, filesize($filename));
		$target = preg_replace('@\.css$@', '.min.css', $filename);
		minify($filename, $target);
		printf(PATTERN."\n", $target, filesize($target));
	}
}
?>

Enregistez le sous le nom minify.php
Si vous utilisez Linux ou IOS, placez le dans le dossier des fichiers CSS et  changez les permissions pour le rendre executable ( "chmod a+x minify.php") et lancer le.
Pour les autres, c'est php -f minify.php

Hors ligne

#2 29/11/2018 16:50:13

Sudwebdesign
Membre
Lieu : Pyrénées orientales
Inscription : 15/02/2011
Messages : 216
Site Web

Re : Minification des fichiers CSS

Merci du partage smile


Le temps est notre argent, investissons le bien smile
Mon dépôt de plugins

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2018 PluXml.org, tous droits réservés