Default option here will be Sass with Libsass (for now). But you can choose Ruby version on startup.
$ npm install -g yo
To install generator-zf5 from npm, run:
$ npm install -g generator-zf5
Finally, initiate the generator:
$ yo zf5
run project (compile Sass, bower install, livereload (server on 127.0.0.1:9000), watch)
publishing project (into dist directory) (compile Sass, validate-js, copy, concatenation, minifications)
$ grunt publish
dist directory preview (server on 127.0.0.1:9001)
$ grunt server-dist
$ grunt validate-js
..for injecting bower libraries (also in default grunt task)
$ grunt bower-install
..for compiling Sass files + autoprefixer on app.css file
$ grunt compile-sass
From version 0.7.0 you can use Ruby version of Sass with Compass. If you want to use Ruby version first of all you need to install compass by 'gem install compass' (it will install Sass gem too).
You don't need to use the config.rb file, all is configured in Gruntfile.js (Sass block). There will be also Compass imports in _appstyles.scss (You can modify it). If you have any problems with using Sass with Compass it is good to uninstall any of your Sass gems and Compass gems and install only Compass gem again. It will fetch proper version of Sass gem.
Ruby Sass config info: https://github.com/gruntjs/grunt-contrib-sass
You can also use Libsass version (default) which is very fast.
Node Sass config info: https://github.com/sindresorhus/grunt-sass
Please test this and send issues if any.
For LiveReload call 'grunt' (watching) command and go to http://127.0.0.1:9000
Read more about grunt-usemin
Now you can install your libraries much faster. Example:
bower search magnific-popup...bower install magnific-popup --save...grunt bower-install
This should inject the proper js and css paths into your html files. But you should be careful and check what was injected. 'grunt publish' will then minify and concatenate them into a clean (libraries.min.css and libraries.min.js) files. Instead of a 'bower install' with '--save' you can manualy edit the bower.json file and then run a 'grunt bower-install'. It is also included in the default task - 'grunt'.
yo zf5You should run
npm cache clean
sudo chown -R `whoami` ~/.npm
hostname: '[your hostname]'line to
<!-- build:js js/mfpopup/mfpopup.min.js --><script src="js/mfpopup/mfpopup.js"></script><!-- endbuild -->
<!-- build:css css/mfpopup/mfpopup.min.js --><script src="js/mfpopup/mfpopup.js"></script><script src="js/mfpopup/other_script.js"></script><!-- endbuild -->
you can add new ones
You can test it and tell me please if something is not working.
Yeoman has a heart of gold. He's a person with feelings and opinions, but he's very easy to work with. If you think he's too opinionated, he can be easily convinced.
..see CHANGELOG.md file