All Projects → mahnunchik → metalsmith-debug

mahnunchik / metalsmith-debug

Licence: MIT license
Plugin to debug Metalsmith

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects

metalsmith-debug

A Metalsmith plugin to debug Metalsmith and plugins. It is a thin wrapper around debug making use of its namespaces and logging functionality.

Installation

$ npm install metalsmith-debug --save

CLI Usage

Install via npm and then add the metalsmith-debug key to your metalsmith.json:

{
  "plugins": {
    "metalsmith-debug": {}
  }
}

Available namespaces

Available namespaces defined by metalsmith-debug are:

  • metalsmith:source
  • metalsmith:destination
  • metalsmith:metadata
  • metalsmith:files
  • metalsmith:log

To see debug messages, you must set a DEBUG environment variable to the desired namespaces.

For all debug messages you can define:

$ DEBUG=metalsmith:* metalsmith

Or you can use namespaces to see only necessary messages:

$ DEBUG=metalsmith:files metalsmith

If you want to debug a specific plugin you must name it:

$ DEBUG=metalsmith-collections metalsmith

You can specify multiple namespaces to debug by separating them with commas:

$ DEBUG=metalsmith:source,metalsmith-collections metalsmith

Javascript Usage

Pass metalsmith-debug plugin to Metalsmith with the use method:

var debug = require('metalsmith-debug');

metalsmith.use(debug());

Options

In case you want to use .use(debug()) several times in your Metalsmith chain you have some options to switch off some of the metalsmith:* namespaces. Additionally, you can add some arbitrary log text. Furthermore you can apply file matching if you only want to monitor certain files. The match option is based on the globbing patterns implemented by multimatch.

var debug = require('metalsmith-debug');

metalsmith.use(debug({
  log: "first debug",      // any comment you like
  metadata: false,         // default: true
  source: false,           // default: true
  destination: false,      // default: true
  files: true,             // default: true
  match: "**/*.md"         // default: all files
}));

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].