SlideShare a Scribd company logo
Grunt.js
For the Enterprise Vol. 2
Text I/O
with Fun
DavidAmend
● Java Web-Developer, Frontend Architecture
● Backbone, Ember, Angular, Grunt.js
Interests:
JavaScript, TypeScript, Triathlon-Sports
About
David.Amend@it-amend.de
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt.js
Build tool like:
Rake, ant, maven, groovy, yeoman, …
● npm package
● Easy JSON-syntax, easy extendable
● Supports all environments
Content
● Cool Output
○ grunt-figlet
○ grunt-cat
○ grunt-attention
○ grunt-notify
● Cool Input
○ grunt-prompt
● Grunt-Chuck-Norris
● Grunt API
○ Config Utils
Grunt-Figlet
● Figlet based
● Supports
○ dynamic text
○ Comment-Wrapping Supports
● Alternative: Grunt-asciify
○ Direct console output
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt-Cat
● based on cat
● Support
○ Text
○ Ascii
○ Figlet
○ Ansi
● Conversion by
○ http://picascii.com/
○ http://www.text-image.com/convert/ascii.html
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt-Attention
● Easy colourful text highlighting
● Easy borders
● Use with Chalk
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt-Prompt
● Based on Inquirer.js
● OS Commandline Interfaces
● Types
○ list
○ checkbox
○ confirm
○ input
○ password
● Helpful in many ways
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt-Notify
● Show UI-Popup Notifications
● Support many platforms
● Types
○ Notify_hooks
○ Custom messages
→ Helpful for development
Grunt-Notify
Grunt API
Helpful Utils
● grunt.util.normalizelf(string)
○ rn on Windows, n otherwise
● grunt.file.readJSON(filepath [, options])
● grunt.file.readYAML(filepath [, options])
Grunt.config API
● grunt.config([prop [, value]])
→ '<%= foo %>'
● grunt.config.requires(prop [, prop [, ...]])
var VARIABLES = require('./GruntVariables.js');
var _ = require ("lodash");
var files1 = {
var1: ["one"]
};
var all = [];
all.push("two");
all.push(files1.var1);
var files2 = {
var2 : all
};
var global = _.extend(files1, files2, {
openPath : "http://localhost:9000"
});
module.exports = global;
Convince !
Have Fun @Coding!
Questions

More Related Content

Grunt Advanced Vol 2, Plugins Text I/O with fun

  • 1. Grunt.js For the Enterprise Vol. 2 Text I/O with Fun
  • 2. DavidAmend ● Java Web-Developer, Frontend Architecture ● Backbone, Ember, Angular, Grunt.js Interests: JavaScript, TypeScript, Triathlon-Sports About David.Amend@it-amend.de
  • 4. Grunt.js Build tool like: Rake, ant, maven, groovy, yeoman, … ● npm package ● Easy JSON-syntax, easy extendable ● Supports all environments
  • 5. Content ● Cool Output ○ grunt-figlet ○ grunt-cat ○ grunt-attention ○ grunt-notify ● Cool Input ○ grunt-prompt ● Grunt-Chuck-Norris ● Grunt API ○ Config Utils
  • 6. Grunt-Figlet ● Figlet based ● Supports ○ dynamic text ○ Comment-Wrapping Supports ● Alternative: Grunt-asciify ○ Direct console output
  • 8. Grunt-Cat ● based on cat ● Support ○ Text ○ Ascii ○ Figlet ○ Ansi ● Conversion by ○ http://picascii.com/ ○ http://www.text-image.com/convert/ascii.html
  • 11. Grunt-Attention ● Easy colourful text highlighting ● Easy borders ● Use with Chalk
  • 13. Grunt-Prompt ● Based on Inquirer.js ● OS Commandline Interfaces ● Types ○ list ○ checkbox ○ confirm ○ input ○ password ● Helpful in many ways
  • 15. Grunt-Notify ● Show UI-Popup Notifications ● Support many platforms ● Types ○ Notify_hooks ○ Custom messages → Helpful for development
  • 17. Grunt API Helpful Utils ● grunt.util.normalizelf(string) ○ rn on Windows, n otherwise ● grunt.file.readJSON(filepath [, options]) ● grunt.file.readYAML(filepath [, options]) Grunt.config API ● grunt.config([prop [, value]]) → '<%= foo %>' ● grunt.config.requires(prop [, prop [, ...]])
  • 18. var VARIABLES = require('./GruntVariables.js'); var _ = require ("lodash"); var files1 = { var1: ["one"] }; var all = []; all.push("two"); all.push(files1.var1); var files2 = { var2 : all }; var global = _.extend(files1, files2, { openPath : "http://localhost:9000" }); module.exports = global;