Skip to content
main
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

metalsmith-filemetadata

A Metalsmith plugin to add metadata on files based on a pattern.

Build Status

Installation

$ npm install metalsmith-filemetadata

JavaScript usage

var fileMetadata = require('metalsmith-filemetadata');

metalsmith.use(fileMetadata([
    {pattern: "posts/*", metadata: {"section": "blogs", "type": "post"}},
    {pattern: "pages/*", metadata: {"section": "content", "type": "page"}}
]));

The pattern property of each rule should be a valid minimatch pattern. If the pattern matches the file, the corresponding metadata are set on the file entry. For a given file, all patterns are tested, so if several rules are matching, the latter can override the previously applied rules.

The metadata property can also be a function, to enable making global metadata available to files, or setting file metadata defaults, e.g.:

{
  pattern: "posts/*",
  metadata: function(file, globalMetadata) {
    return {
      title: file.keywords || globalMetadata.keywords,
      allPosts: globalMetadata.collections.posts
    };
  }
}

Adding preserve: true to any rule will prevent overriding pre-defined values.

CLI usage

{
  "plugins": {
    "metalsmith-filemetadata": [
      {"pattern": "posts/*", "metadata": {"section": "blogs", "type": "post"}},
      {"pattern": "pages/*", "metadata": {"section": "content", "type": "page"}}
    ]
  }
}

License

MIT

About

Metalsmith plugin to add metadata on files based on a pattern

Topics

Resources

License

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
You can’t perform that action at this time.