diff options
Diffstat (limited to 'node_modules/express-messages/Readme.md')
| -rw-r--r-- | node_modules/express-messages/Readme.md | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/node_modules/express-messages/Readme.md b/node_modules/express-messages/Readme.md new file mode 100644 index 0000000..30d7ce7 --- /dev/null +++ b/node_modules/express-messages/Readme.md @@ -0,0 +1,142 @@ +# Express Messages + +The _express-messages_ module provides flash notification rendering. + +## Installation + + $ npm install express-messages + +## Usage + +### Express 2.x + +To use simply assign it to a dynamic helper: + + app.dynamicHelpers({ messages: require('express-messages') }); + +### Express 3+ + +Install [connect-flash](https://github.com/jaredhanson/connect-flash) and add them as middleware: + +``` +app.use(require('connect-flash')()); +app.use(function (req, res, next) { + res.locals.messages = require('express-messages')(req, res); + next(); +}); +``` + +### Adding Messages + +On the server: + + req.flash("info", "Email queued"); + req.flash("info", "Email sent"); + req.flash("error", "Email delivery failed"); + +For further information see [connect-flash](https://github.com/jaredhanson/connect-flash). + +### Rendering Messages + +Call the `messages()` function as specified by your rendering engine: + +[EJS](https://github.com/visionmedia/ejs): + + <%- messages() %> + +[Jade](http://jade-lang.com/): + + != messages() + +Which will output the HTML: + + <div id="messages"> + <ul class="info"> + <li>Email queued</li> + <li>Email sent</li> + </ul> + <ul class="error"> + <li>Email delivery failed</li> + </ul> + </div> + +## Using a custom template + +Alternatively you can specify a custom template (a file in the views directory of your [Express](http://expressjs.com) app). + +### Add a message template + +For example, lets use the below custom message template named `my_message_template`. + +[EJS](https://github.com/visionmedia/ejs) (`my_message_template.ejs`): + + <div id="messages"> + <% Object.keys(messages).forEach(function (type) { %> + <ul class="<%= type %>"> + <% messages[type].forEach(function (message) { %> + <li><%= message %></li> + <% }) %> + </ul> + <% }) %> + </div> + +[Jade](http://jade-lang.com/) (`my_message_template.jade`): + + .messages + each type in Object.keys(messages) + ul(class="#{type}") + each message in messages[type] + li= message + +### Call the message template + +Next, pass the template name, `my_message_template`, as a parameter to the `messages()` function. + +[EJS](https://github.com/visionmedia/ejs): + + <%- messages('my_message_template', locals) %> + +[Jade](http://jade-lang.com/): + + != messages('my_message_template', locals) + +The message template will receive an object called `messages` of the form: + + { + "info" : [ + "Email queued", + "Email sent" + ], + "error": [ + "Email delivery failed" + ] + } + +## Running Tests + + $ npm test + +## License + +(The MIT License) + +Copyright (c) 2010 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
