Nervously Proposing Marriage

    metalsmith-metadata-directory

    1.2.3 • Public • Published

    metalsmith-metadata-directory

    npm 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 a directory of .json & .yml/.yaml files and makes their contents available to the Metalsmith global metadata, without needing to declare multiple 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 (10 & 12). This plugin should work on Node 6 & 8 but is not supported for these versions.

    Installation

    Install the plugin using npm, and specify the directory of metadata files you want to use, along with a globbing pattern.

    $ 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"
        }
      }
    }

    NOTE: .yml and .yaml file extensions are also supported.

    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' or 'yaml' 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 use your metadata.

    Usage within Metalsmith

    Data is called by referencing the filename without an extension. For example, if there was a global.json file containing a url key, the reference in your page or template would look like:

    {{global.url}}

    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

    8

    Version

    1.2.3

    License

    MIT

    Unpacked Size

    15.5 kB

    Total Files

    36

    Last publish

    Collaborators

    • fephil