Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

metalsmith-metadata-directory

1.1.0 • Public • Published

metalsmith-metadata-directory

npm Maintenance Build Status GitHub license

A Metalsmith plugin to add a directory of JSON and/or YAML files for use as global metadata in templates, partials and pages.


About

This plugin supports adding directory of .json & .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.

Node support

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.

Installation

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:

{
  "plugins": {
    "metalsmith-metadata-directory": {
      "directory": "/src/data/**/*.json" // or: "/src/data/**/*.yml"
    }
  }
}

With JavaScript

Pass the plugin into metalsmith.use:

var metalsmith = require('metalsmith')
var metadata = require('metalsmith-metadata-directory')
 
metalsmith.use(metadata({
  directory: '/src/data/**/*.json',
  // or for YAML respectively; be sure to use 'yml' as file suffix
  directory: '/src/data/**/*.yml'
}));

Plugin ordering

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:

{{global.url}}

My workflow Garrus has an example of this plugin being used.

Debug mode

This plugin supports debugging output. To enable, use the following command when running Metalsmith:

$ DEBUG=metalsmith-metadata-directory metalsmith

Licence

MIT

install

npm i metalsmith-metadata-directory

Downloadsweekly downloads

3

version

1.1.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability