metalsmith-debug
v1.2.0
Published
A Metalsmith plugin to debug Metalsmith and plugins
Readme
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 --saveCLI 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:* metalsmithOr you can use namespaces to see only necessary messages:
$ DEBUG=metalsmith:files metalsmithIf you want to debug a specific plugin you must name it:
$ DEBUG=metalsmith-collections metalsmithYou can specify multiple namespaces to debug by separating them with commas:
$ DEBUG=metalsmith:source,metalsmith-collections metalsmithJavascript 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
}));