Beginning with VuFind® 9.0, the use of Grunt is being phased out; it is strongly recommended that you begin using NPM Scripts instead.
Grunt is a javascript and nodejs based task runner. It has been configured to run several tasks for front end manipulation and packaging. For more advanced methods, please see our community scripts page.
To setup Grunt to run, first install node and run “npm install” to install all the dependencies in package.json.
Just running “grunt” will perform the less and js compression tasks.
Compiles all less files into a compressed css file. This script will detect themes inside of your themes directory and build the proper paths for you.
To use:
grunt less
Compiles all sass files into a compressed css file. This script will detect themes inside of your themes directory and build the proper paths for you.
grunt scss
Compress vendor files in bootstrap3 into a single called “vendor.min.js”.
Specifically, it creates a compressed file that includes jquery, bootstrap.js, then all vendor files except for bootstrap-slider.js (not compatible with “use strict” required for compression), and finally autocomplete.js.
To compress your own code: refer to the grunt-contrib-uglify documentation or base your subtask on vendor_min. You can run specific js compression subtasks like this:
grunt uglify:vendor_min
Don't forget to update your theme.config.php.
Runs eslint style checks. By default, only does bootstrap3.
Converts all less files to sass. Mostly for the VuFind® dev team. By default does bootstrap3 and bootprint3.