A grunt plugin to manage creation of a release notes section in your README. See this repo for example usage.
This is multi task, see Gruntfile and the "Release Notes" section at the bottom of this file for example usage.
The task will fail if the current package.json.version does not have a corresponding file in the release notes directory.
The plugin will also generate a markdown unordered list of links to version release notes with display dates which will
be saved on grunt.config.releaseNotes.notes
. The notes string can then be used to create the README.md
from a README.template
that uses grunt templating.
Comes with a companion task - grunt notes:since
- that will show the contents of your release notes files starting at one version and ending at another.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-release-notes --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-release-notes');
In your project's Gruntfile, add a section named releaseNotes
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
releaseNotes : {
readmePath : 'README.md',
templatePath : 'templates/README.template.md'
}
});
notesDirectory
- The directory in which your release notes are stored.- default :
release_notes
- default :
versionSeparator
- The character used to separate the version number from the display date in the release notes file names.- default :
_
- default :
notesField
- The field ongrunt.config.releaseNotes
which will be used to create the generate release notes string.- default :
notes
- default :
src
- If this field andreadmePath
are both defined, then the grunt template attemplatePath
will be used to generate the README atreadmePath
usinggrunt.config
as the template data.dst
- If this field andtemplatePath
are both defined, then the grunt template attemplatePath
will be used to generate the README atreadmePath
usinggrunt.config
as the template data.baseLinkPath
- The base of the path that will be used to generate the links to the release notes. For example :https://github.com/Solid-Interactive/masseuse/blob/master/
grunt releaseNotes:since:[start]:[finish]
will show the release notes starting after the start version and ending on the finish version. If no finish is provided, notes will be provided until the latest version. These are displayed and the string is set on the grunt config as releaseNotes.notes
for use in templating.
releaseNotes:latest
will display the release notes for the latest version, and it will add that string to the grunt config as releaseNotes.notes
for use in templating.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
- 0.0.0 - 2014-02-20 - initial release
- 0.0.1 - 2014-02-22 - patch
- 0.0.2 - 2014-02-22 - patch
- 0.1.0 - 2014-02-24 - minor
- 0.1.1 - 2014-03-06 - patch
- 0.1.2 - 2014-09-23 - patch
- 0.1.3 - 2014-10-11 - patch
Do not modify directly. This file is compiled from a template. Created: 2014-10-11 07:28:05