grunt-content

1.0.1 • Public • Published

grunt-content NPM Version Build Status Dependency Status

Display informative and pretty content within a Grunt task.

Getting Started

This plugin requires Grunt >=0.4

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-content --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-content');

The "content" task

Overview

In your project's Gruntfile, add a section named content to the data object passed into grunt.initConfig().

grunt.initConfig({
  content: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

Content Types

table

Type: Array,Function
Default value: null

Table content. An array or a function returning an array of cli-table data. Takes priority over text.

text

Type: String,Function
Default value: ""

Text content. A string or a function returning a string.

Options

options.clearBefore

Type: Boolean
Default value: false

Clear the console window of commands and any generated output before printing your content.

options.gruntLogHeader

Type: Boolean
Default value: false

Show the running task header or not.

options.newLineAfter

Type: Boolean
Default value: !options.gruntLogHeader

Add an extra line break after the content or not.

options.newLineBefore

Type: Boolean
Default value: !options.gruntLogHeader && !options.clearBefore

Add an extra line break before the content or not.

options.table

Type: Object
Default value: null

Options passed to cli-table.

Usage Examples

Simple Text

grunt.initConfig({
  content: {
    text: "This is some simple content",
  },
});

Simple Table

grunt.initConfig({
  content: {
    table: [
     [ ["table cell"],["table cell"] ],
     [ ["table cell"],["table cell"] ],
    ],
  },
});

Custom Options

grunt.initConfig({
  content: {
    options: {
      clearBefore: true,
    },
    testing: {
      text: "This content appears on its own screen",
    }
    123: {
      options: {
        clearBefore: false,
        table: {
          colWidths: [72]
        },
      },
      table: [
        [ ["This content appears right below the previous"] ],
      ],
    },
  },
});

Dynamic Text

grunt.initConfig({
  content: {
    text: function() {
      return "This content is dynamic:" + grunt.config("something");
    },
  },
});

Dynamic Table Rows

grunt.initConfig({
  content: {
    table: [
      [ ["table cell"],["table cell"] ],
      function() {
        var newRows = [];
        for (var i=0; i<50; i++) {
          newRows.push([ ["table cell"],["table cell"] ]);
        }
        return newRows;
      },
    ],
  },
});

Release History

  • 1.0.1 supports grunt 1.x and npm 3.x
  • 1.0.0 release
  • 0.2.2 updated cli-clear
  • 0.2.1 fixed handling of dynamic data returning undefined
  • 0.2.0 fixed dynamic tables, added tests
  • 0.1.0 initial release

Package Sidebar

Install

npm i grunt-content

Weekly Downloads

2

Version

1.0.1

License

MIT

Last publish

Collaborators

  • stevenvachon