A Metalsmith plugin to add a directory of JSON and/or YAML files for use as global metadata in templates, partials and pages.
- Author: Phil Lennon
- Source: github.com/fephil/metalsmith-metadata-directory
- Issues & Suggestions: github.com/fephil/metalsmith-metadata-directory/issues
- Releases: https://github.com/fephil/metalsmith-metadata-directory/releases
- Twitter: @frontendphil
- Email: email@example.com
This plugin supports adding directory of
.yml files and makes their contents available to the Metalsmith global metadata without needing to declare multiple files or file names. Subdirectories and multiple files are supported by using a globbing pattern.
This plugin is supported and tested against all the current Node LTS versions (4, 6 & 8). This plugin should work on Node 0.12 but is not supported for this version.
Install the plugin using npm, and specify the directory of metadata files you want to use, along with a globbing pattern. Currently, only JSON files are supported.
$ npm install metalsmith-metadata-directory --save-dev
With Metalsmith CLI
Add the plugin to your metalsmith.json file:
Pass the plugin into metalsmith.use:
var metalsmith =var metadata =metalsmith;
It is vital to order Metalsmith plugins correctly. Please make sure this plugin is included above metalsmith-layouts and metalsmith-in-place and any other plugin which may need your metadata.
Usage within Metalsmith
Data is called by referencing the filename without an extension. If there was a global.json file containing a url key, the reference in your page or template would look like:
My workflow Garrus has an example of this plugin being used.
This plugin supports debugging output. To enable, use the following command when running Metalsmith:
$ DEBUG=metalsmith-metadata-directory metalsmith