Skip to content

Template helper for generating a markdown-formatted changelog from an object, array or yaml file. Should work with Handlebars or Lo-Dash or any engine with support for helper functions.

License

Notifications You must be signed in to change notification settings

helpers/helper-changelog

Repository files navigation

helper-changelog NPM version NPM downloads Build Status

Template helper for generating a markdown-formatted changelog from an object, array or yaml file.

What is this?

This is a template helper that takes a changelog object, array, or filepath to a changelog file, and converts it to a markdown formatted changelog that looks something like this:

### [v0.2.0] - 2016-12-26

**fixed**

- Fixed [bug 10,997]

### [v0.1.0] - 2016-12-25

**deprecated**

- Deprecated `.foo` and `.bar`

**changed**

- Changed behavior of `.baz`

See stringify-changelog for details.

Usage

var changelog = require('helper-changelog');

API

<%= changelog(value, locals) %>

Params

  • value {String|Object|Array}: If the value is a string it will be regarded as a filepath. Supported file formats are yaml, json, and markdown.
  • locals: Locals or options to pass to stringify-changelog. If a markdown file is passed, and it follows [keep-a-changelog][] conventions, the helper will attempt to generate reflinks to match the headings.

Note: When a filepath is passed, the file name can be anything, but the extension is used for determining how to parse the file:

// file path to a valid yaml file
<%= changelog("CHANGELOG") %>
<%= changelog("CHANGELOG.yml") %>
<%= changelog("CHANGELOG.yaml") %>

// file path to a valid JSON file
<%= changelog("CHANGELOG.json") %>

// changelog object passed as a variable on the context
<%= changelog(changes) %>

// changelog object passed as locals
<%= changelog({ 
  "v0.1.0": { 
    date: "2016-12-26", 
    changes: [ "Got stuck in another chimney." ] 
  }
}) %>

// changelog array passed as locals
<%= changelog([
  {
    date: "2016-12-26", 
    version: "v0.1.0", 
    changes: [ "Got stuck in another chimney." ]
  }
]) %>

YAML

The contents of the file must be valid YAML following this format:

v0.1.0:
  date: "2016-12-26"
  changes:
    - Got stuck in another chimney.

See stringify-changelog for additional options.

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on July 21, 2016.

About

Template helper for generating a markdown-formatted changelog from an object, array or yaml file. Should work with Handlebars or Lo-Dash or any engine with support for helper functions.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  
  •  

Packages

No packages published