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

Usage no npm install needed!

<script type="module">
  import helperChangelog from '';


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 [bug 10,997]

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


- Deprecated `.foo` and `.bar`


- Changed behavior of `.baz`

See stringify-changelog for details.


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


<%= changelog(value, locals) %>


  • 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." ]
]) %>


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

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

See stringify-changelog for additional options.



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


Jon Schlinkert


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

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