metalsmith-define

2019-10-23 admin

metalsmith-define是什么

什么是metalsmith-define,A Metalsmith plugin to define values in the metadata

metalsmith-define使用教程帮助文档

metalsmith-define

travis github npm

This plugin enables you to define custom values in the metadata. Why you would use it for is up to you, but here are some ideas:

  • expose a node module (e.g.: Lodash) in the metadata to use it in a template
  • expose process.env to your templates (NODE_ENV, etc)
  • expose JSON files (e.g.: expose the package.json file similarly to how it’s done in a classic Gruntfile)
  • expose your own JavaScript modules (e.g., define custom helper functions)

Install

npm install metalsmith-define

Usage

CLI

metalsmith.json

{
  "plugins": {
    "metalsmith-define": {
      "production": true
    }
  }
}

Node.js

const metalsmith = require('metalsmith')
const metalsmithDefine = require('metalsmith-define')

metalsmith(__dirname).use(
  metalsmithDefine({
    _: require('underscore'),
    development: true,
    pkg: require('./package.json'),
    helpers: require('./helpers.js'),
  })
)

API

metalsmithDefine(options)

options

Type: Enumerable (Array, Class, Map, Object, string, etc) Default: {}

This parameter will be iterated on all its key/value pairs either via:

  • {type}.prototype.entries if the method exists (e.g., Map),
  • or Object.entries for all the other types: Array, Object, etc

The pairs will be merged into the metadata object in the order in which they are being iterated on.

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-78083.html

文章标题:metalsmith-define

回到顶部