UNPKG

mt-changelog

Version:
87 lines (61 loc) 1.83 kB
mt-changelog ============ Creates simple changelogs from your git commits in markdown with links when viewed from github. ```sh Usage: changelog [options] Options: -h, --help output usage information -V, --version output the version number -t, --title [title] the title of the changelog (should probably be the new tag) -m, --message [message] regex to match commit messages to be included in the changelog -o, --out [path] file to write changelog to -s, --stdout will prevent writing a file and print results to stdout ``` ## installation ```sh $ npm install mt-changelog ``` ## Example Command line ```sh # ensure you have a semver tag in the past, and then... $ changelog -t v2.1.0 ``` Node ```javascript var changelog = require('mt-changelog'); options = { stdout: false, out: 'CHANGELOG.md', title: 'v1.2.3', message: /\[(added|removed|changed|fixed)\]/, formatter: require('mt-changelog/lib/formatters/basic') }; // Returns a Promise changelog(options) .catch(function(err) { // error handling }); ``` Output: The commit hash becomes a link to the commit when viewed on github. ``` v2.1.0 - Fri, 28 Mar 2014 05:54:33 GMT -------------------------------------- [1685ade](../../1685ade) [added] some new stuff [02aa80f](../../02aa80f) [fixed] busted things v2.0.10 - Fri, 21 Mar 2014 02:31:10 GMT --------------------------------------- [1685ade](../../1685ade) [removed] terrible apis [02aa80f](../../02aa80f) [changed] default options for stuff ``` By default, it will look for commit messages with subjects that match: - `[added] ...` - `[changed] ...` - `[fixed] ...` - `[removed] ...` But you can supply a regex with `-m [message]`, for example: ```sh $ changelog -m '\[a\]|\[c\]|[\f\]|\[r\]' ```