46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
#!/usr/bin/env php
 | 
						|
<?php
 | 
						|
use MatthiasMullie\Minify;
 | 
						|
 | 
						|
// command line utility to minify CSS
 | 
						|
if (file_exists(__DIR__ . '/../../../autoload.php')) {
 | 
						|
    // if composer install
 | 
						|
    require_once __DIR__ . '/../../../autoload.php';
 | 
						|
} else {
 | 
						|
    require_once __DIR__ . '/../src/Minify.php';
 | 
						|
    require_once __DIR__ . '/../src/CSS.php';
 | 
						|
    require_once __DIR__ . '/../src/Exception.php';
 | 
						|
}
 | 
						|
 | 
						|
error_reporting(E_ALL);
 | 
						|
// check PHP setup for cli arguments
 | 
						|
if (!isset($_SERVER['argv']) && !isset($argv)) {
 | 
						|
    fwrite(STDERR, 'Please enable the "register_argc_argv" directive in your php.ini' . PHP_EOL);
 | 
						|
    exit(1);
 | 
						|
} elseif (!isset($argv)) {
 | 
						|
    $argv = $_SERVER['argv'];
 | 
						|
}
 | 
						|
// check if path to file given
 | 
						|
if (!isset($argv[1])) {
 | 
						|
    fwrite(STDERR, 'Argument expected: path to file' . PHP_EOL);
 | 
						|
    exit(1);
 | 
						|
}
 | 
						|
// check if script run in cli environment
 | 
						|
if ('cli' !== php_sapi_name()) {
 | 
						|
    fwrite(STDERR, $argv[1] . ' must be run in the command line' . PHP_EOL);
 | 
						|
    exit(1);
 | 
						|
}
 | 
						|
// check if source file exists
 | 
						|
if (!file_exists($argv[1])) {
 | 
						|
    fwrite(STDERR, 'Source file "' . $argv[1] . '" not found' . PHP_EOL);
 | 
						|
    exit(1);
 | 
						|
}
 | 
						|
 | 
						|
try {
 | 
						|
    $minifier = new Minify\CSS($argv[1]);
 | 
						|
    echo $minifier->minify();
 | 
						|
} catch (Exception $e) {
 | 
						|
    fwrite(STDERR, $e->getMessage(), PHP_EOL);
 | 
						|
    exit(1);
 | 
						|
}
 |