metalsmith-directory-metadata v1.0.0
metalsmith-directory-metadata
Defines default metadata for files in a directory.
Features
can define directory metadata
This plugin defines the metadata that all files in the directory have in common.
Directory metadata is defined using a definition file in JSON or YAML format.
Install
npm install metalsmith-directory-metadataCLI Usage
Install via npm and then add the metalsmith-directory-metadata key to your metalsmith.json plugin, like so:
{
"plugins": {
"metalsmith-directory-metadata": true
}
}If you need to specify an options, set the options to the value of the metalsmith-directory-metadata key.
{
"plugins": {
"metalsmith-directory-metadata": {
"pattern": "**/.metadata"
}
}
}See Metalsmith CLI for more details.
Javascript Usage
The simplest use is to omit the option. By default, the following files are used to define metadata: metadata.yaml, metadata.yml, metadata.json, and metadata.
const directoryMetadata = require('metalsmith-directory-metadata');
metalsmith
.use(directoryMetadata());If you need to specify an options, set the options value.
const directoryMetadata = require('metalsmith-directory-metadata');
metalsmith
.use(directoryMetadata({
pattern: '**/.metadata',
}));If you want to use the files variable or the default options value, you can specify the callback function that generates the options.
const directoryMetadata = require('metalsmith-directory-metadata');
metalsmith
.use(directoryMetadata(
(files, metalsmith, defaultOptions) => {
return {
pattern: [...defaultOptions.pattern, '**/.metadata'],
};
}
));TypeScript Usage
For compatibility with the Metalsmith CLI, this package exports single function in CommonJS style.
When using with TypeScript, it is better to use the import = require() statement.
import directoryMetadata = require('metalsmith-directory-metadata');
metalsmith
.use(directoryMetadata());Options
The default value for options are defined like this:
{
pattern: ['**/metadata.{json,yaml,yml}', '**/metadata'],
}pattern
Specifies the Glob pattern that matches the file that defines the directory metadata.
Specify a glob expression string or an array of strings as the pattern.
Pattern are verified using multimatch v4.0.0.
Default value (source):
['**/metadata.{json,yaml,yml}', '**/metadata']Type definition (source):
string | string[]Debug mode
This plugin supports debugging output.
To enable, use the following command when running your build script:
DEBUG=metalsmith-directory-metadata,metalsmith-directory-metadata:* node my-website-build.jsFor more details, please check the description of debug v4.1.1.
Tests
To run the test suite, first install the dependencies, then run npm test:
npm install
npm testContributing
see CONTRIBUTING.md
6 years ago