This is a filter implementation to use Autoprefixer within the PHP assetic framework.
kriswallsmith/assetic
is required to be installed in your php project.
postcss/autoprefixer
is required to be installed on your system.
php composer.phar require kriswallsmith/assetic ~1.0
sudo npm install -g autoprefixer
npm install autoprefixer
use Bit3\Assetic\Filter\Autoprefixer\AutoprefixerFilter;
// if you have installed autoprefixer globally
$autoprefixerBinary = '/usr/bin/autoprefixer';
// if you have installed autoprefixer locally
$autoprefixerBinary = '/../node_modules/.bin/autoprefixer';
$autoprefixerFilter = new AutoprefixerFilter($autoprefixerBinary);
// if node.js binary is not installed as /usr/bin/node
// (e.g. on debian/ubuntu the binary is named /usr/bin/nodejs)
$autoprefixerFilter->setNodeBin('/usr/bin/nodejs');
This project comes with a assetic filter configuration file, located in the config
directory.
Define the autoprefixer binary path in the parameters.yml
:
parameters:
# if you have installed autoprefixer globally
assetic.autoprefixer.bin: /usr/bin/autoprefixer
# if you have installed autoprefixer locally
assetic.autoprefixer.bin: %kernel.root_dir%/../node_modules/.bin/autoprefixer
# if node.js binary is not installed as /usr/bin/node
# (e.g. on debian/ubuntu the binary is named /usr/bin/nodejs)
assetic.node.bin: /usr/bin/nodejs
Then enable the filter in the assetic
configuration chapter:
# Assetic Configuration
assetic:
filters:
autoprefixer:
resource: "%kernel.root_dir%/../vendor/netzmacht/assetic-autoprefixer/config/autoprefixer.xml"
# if you like, you can use apply_to here :-)
# e.g, apply_to: "\.css"
# otherwise you use the filter in your template with filter="autoprefixer"