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.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-Cat
● based on cat
● Support
○ Text
○ Ascii
○ Figlet
○ Ansi
● Conversion by
○ http://picascii.com/
○ http://www.text-image.com/convert/ascii.html
Grunt-Attention
● Easy colourful text highlighting
● Easy borders
● Use with Chalk
Grunt-Prompt
● Based on Inquirer.js
● OS Commandline Interfaces
● Types
○ list
○ checkbox
○ confirm
○ input
○ password
● Helpful in many ways
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

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

  • 1.
    Grunt.js For the EnterpriseVol. 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 oncat ● Support ○ Text ○ Ascii ○ Figlet ○ Ansi ● Conversion by ○ http://picascii.com/ ○ http://www.text-image.com/convert/ascii.html
  • 11.
    Grunt-Attention ● Easy colourfultext highlighting ● Easy borders ● Use with Chalk
  • 13.
    Grunt-Prompt ● Based onInquirer.js ● OS Commandline Interfaces ● Types ○ list ○ checkbox ○ confirm ○ input ○ password ● Helpful in many ways
  • 15.
    Grunt-Notify ● Show UI-PopupNotifications ● Support many platforms ● Types ○ Notify_hooks ○ Custom messages → Helpful for development
  • 16.
  • 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;
  • 19.
  • 20.
  • 21.