Statika... what?
Statika is a file manager for the static files of your projects. It uses 3rd-party compressors/minifiers to combine and compress your CSS/JS files, reduce filesize and increase versions automatically., (*1)
Project Config
The config file describes various things like the compressor(s) you wish to use, versioning or the filesets. You can find a config template in the conf/
folder of this project., (*2)
Available Compressors
Statika currently supports these compressors:
* Google Closure Compiler (closure
) - JS only ( via binary )
* UglifyJS (uglifyjs
) - JS only ( via webservice )
* YUI Compressor (yui
) - JS & CSS ( via binary ), (*3)
Available Version Types
You can specify the output name for each fileset. For now, there are 2 types of versioning. Each time you compress a config, Statika will check if there is a previous minified version and automatically increase the version. (e.g. 0001 becomes 0002 ).
* Numbers {version|nr}
(e.g. test.min.0001.js
)
* MD5 {version|md5}
(e.g. test.min.098f6bcd4621d373cade4e832627b4f6.js
), (*4)
Getting Started
First of all you have to install the project dependencies via Composer using the following command:, (*5)
$ composer install
If that´s completed, make sure that the file paths for the binary compressors/minifiers in the src/config.php
are correct., (*6)
There are two ways using Statika:
- Run from source
- Compile the source (create a phar archive) - if you´d like to use Statika globally
Run from source
To run Statika from source, use the following command:, (*7)
$ ./bin/statika <command>
Compile the source
To compile the PHP Archive ( PHAR ) with the following command:, (*8)
$ ./bin/compile
If you´d like to use Statika globally, move the compiled file (statika.phar
) to your bin
dir, e.g. /usr/local/bin/statika
, and set the proper file modes using:, (*9)
$ sudo mv bin/statika.phar /usr/local/bin/statika
$ sudo chmod +x /usr/local/bin/statika
Usage
To validate a defined config:
$ statika validate /path/to/config.json
, (*10)
To compress a defined config:
$ statika compress /path/to/config.json
, (*11)