This Laravel Elixir extension allows you to compile Stylus.
First, pull in the extension through NPM.
npm install --save-dev laravel-elixir-stylus
Note: if using Laravel Elixir 6 or higher, pull in
laravel-elixir-stylus@2.x
. Otherwise, stick withlaravel-elixir-stylus@1.x
.
That's it! You're all set to go!
Assuming you write...
elixir(function(mix) {
mix.stylus('app.styl');
});
...this will compile your resources/assets/stylus/app.styl
file to ./public/css/app.css
.
If you'd like to set a different output directory, you may pass a second argument to the stylus()
method, like so:
mix.stylus('app.styl', './public/scripts/styles.css')
Finally, if you want to override the Stylus plugin options, you may pass an object as the third argument.
mix.stylus('app.styl', null, {});
// See options at: https://www.npmjs.com/package/gulp-stylus#options
This extension includes a PostCSS adapter out of the box, as well as support for the incredibly impressive Lost grid system. Check out the documentation in that link, and immediately start using it in your projects with this extension. Zero setup. :)
If there are other PostCSS plugins you want to pull in, you may use the third argument to mix.stylus()
-
var postStylus = require('poststylus'); // npm install --save-dev poststylus
mix.stylus('app.styl', null, {
use: [postStylus(['lost', 'postcss-position'])] // npm install --save-dev postcss-position
});