grunt-notify

Automatic desktop notifications for Grunt errors and warnings. Supports OS X, Windows, Linux.
Screenshots, OS, Tool, Screenshots, ---, ---, ---, OS X, OS X Notification Center,
, OS X, Growl for Mac,
, Windows 8, Windows 8 notifications,
, Windows, Growl for Windows,
, Windows, Snarl,
, Linux, Notify-Send,
, ### Getting Started
This plugin recommends Grunt 0.4.1
or newer.
Installing
npm install grunt-notify --save-dev
Once that's done, add this line to your project's Gruntfile.js
:
grunt.loadNpmTasks('grunt-notify');
That's all you need for automatic notifications.
Notify_Hooks Options
If you want change the automatic messaging configure a task called notify_hooks
.
grunt.initConfig({
// This is optional!
notify_hooks: {
options: {
enabled: true,
max_jshint_notifications: 5, // maximum number of notifications from jshint output
title: "Project Name", // defaults to the name in package.json, or will use project directory's name
success: false, // whether successful grunt executions should be notified automatically
duration: 3 // the duration of notification in seconds, for `notify-send only
}
}
});
// Load the task
grunt.loadNpmTasks('grunt-notify');
// This is required if you use any options.
grunt.task.run('notify_hooks');
Showing Specific Notifications
Sometimes you want to show messages like "Uglify complete" or "Project Deployed" - that's easy to do too., , :-------------:, Custom Message - Grunt,
, :-------------:, Custom Message - Notification Center,
, :-------------:, Custom Message - Notify-Send, ```js
grunt.initConfig({
notify: {
task_name: {
options: {
// Task-specific options go here.
}
},
watch: {
options: {
title: 'Task Complete', // optional
message: 'SASS and Uglify finished running', //required
}
},
server: {
options: {
message: 'Server is ready!'
}
}
}
});
grunt.loadNpmTasks('grunt-notify');
// simplified example
grunt.registerTask('server', [
'uglify',
'sass',
'server',
'notify:server'
]);
#### Options
* `title` _optional_ Notification title
* `message` _required_ Notification message
### Tests
Run `grunt` to lint and run the tests.
### Notification Systems
#### Mac
##### OS X Notification System
*Support Included.*
If you are using OS X 10.8 Mountain Lion or newer a notification system is built in, but Apple does not provide a
notification API that Node can access. Only code written in Objective C and signed in XCode can access it.
This is not very friendly for Node users so we are using the tiny signed MIT-licensed native application
[Terminal Notifier](https://github.com/alloy/terminal-notifier) from [Eloy Durán](https://github.com/alloy).
I've changed the default icon which is owned by Apple to the Grunt logo.
##### Growl for OS X
*Requires growlnotify for OS X.*
Install **growlnotify** from the [Growl Downloads Page](http://growl.info/downloads). This will install in `/usr/local/bin/growlnotify`.
#### Windows
##### Snarl
*Included with Snarl.*
If you have downloaded and installed Snarl from [Snarl's web site](http://snarl.fullphat.net/) you'll have the commandline tool heysnarl as well.
##### Growl for Windows
*Requires growlnotify for Windows.*
Install **growlnotify** from the [growlnotify Page](http://www.growlforwindows.com/gfw/help/growlnotify.aspx).
##### Windows 8.1 Notifications
*Nothing to install.*
Create a pull request!
#### Linux
##### Notify-Send
*Nothing to install.*
I created an Ubuntu virtual machine and it had `notify-send` in the path.
I don't use Linux frequently so I don't know if this utility is available for other distros.
[notify-send man page](http://manpages.ubuntu.com/manpages/gutsy/man1/notify-send.1.html).
`notify-send` has an addition `duration` option which takes a number seconds. The default is 3 seconds.
Duration doesn't work natively on some versions of Ubuntu.
Here is a fix: http://askubuntu.com/questions/128474/how-to-customize-on-screen-notifications
#### Chrome
*Not supported yet.*
Chrome has a notification system but I'm not sure if it's possible to use from a command-line Node app. Somebody could
probably create a Chrome Plugin helper for this.
#### Notifications aren't showing
Run `grunt -v` (for `verbose` mode) to show `grunt-notify` debug messages. It will tell you what notification system
it thinks it can use. Create an issue and I'll look into it asap.
### About the Author
Hi! Thanks for checking out this project! My name is **Dylan Greene**. When not overwhelmed with my two young kids I enjoy contributing
to the open source community. I'm also a tech lead at [Opower](http://opower.com). [](https://github.com/dylang) [](https://twitter.com/dylang)
Here's some of my other Node projects:, Name, Description, npm Downloads, ---, ---, ---, [`space‑hogs`](https://github.com/dylang/space-hogs), Discover surprisingly large directories from the command line, [](https://www.npmjs.org/package/space-hogs), [`npm‑check`](https://github.com/dylang/npm-check), Check for outdated, incorrect, and unused dependencies., [](https://www.npmjs.org/package/npm-check), [`shortid`](https://github.com/dylang/shortid), Amazingly short non-sequential url-friendly unique id generator., [](https://www.npmjs.org/package/shortid), [`rss`](https://github.com/dylang/node-rss), RSS feed generator. Add RSS feeds to any project. Supports enclosures and GeoRSS., [](https://www.npmjs.org/package/rss), [`grunt‑prompt`](https://github.com/dylang/grunt-prompt), Interactive prompt for your Grunt config using console checkboxes, text input with filtering, password fields., [](https://www.npmjs.org/package/grunt-prompt), [`xml`](https://github.com/dylang/node-xml), Fast and simple xml generator. Supports attributes, CDATA, etc. Includes tests and examples., [](https://www.npmjs.org/package/xml), [`changelog`](https://github.com/dylang/changelog), Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in npmjs.org's registry as well as any public github.com repo., [](https://www.npmjs.org/package/changelog), [`grunt‑attention`](https://github.com/dylang/grunt-attention), Display attention-grabbing messages in the terminal, [](https://www.npmjs.org/package/grunt-attention), [`observatory`](https://github.com/dylang/observatory), Beautiful UI for showing tasks running on the command line., [](https://www.npmjs.org/package/observatory), [`anthology`](https://github.com/dylang/anthology), Module information and stats for any @npmjs user, [](https://www.npmjs.org/package/anthology), [`grunt‑cat`](https://github.com/dylang/grunt-cat), Echo a file to the terminal. Works with text, figlets, ascii art, and full-color ansi., [](https://www.npmjs.org/package/grunt-cat), _This list was generated using [anthology](https://github.com/dylang/anthology)._
### License
Copyright (c) 2016 Dylan Greene, contributors.
Released under the [MIT license](https://tldrlegal.com/license/mit-license).
Screenshots are [CC BY-SA](http://creativecommons.org/licenses/by-sa/4.0/) (Attribution-ShareAlike).
***
_Generated using [grunt-readme](https://github.com/assemble/grunt-readme) with [grunt-templates-dylang](https://github.com/dylang/grunt-templates-dylang) on Sunday, February 28, 2016._
_To make changes to this document look in `/templates/readme/`