Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hrueger/changelogjs

A small customizable changelog generator
https://github.com/hrueger/changelogjs

changelog ci generator javascript script tool

Last synced: 12 days ago
JSON representation

A small customizable changelog generator

Awesome Lists containing this project

README

        

# ChangelogJS

[![npm](https://img.shields.io/npm/v/@hrueger/changelogjs)](https://npmjs.com/package/@hrueger/changelogjs)
[![Greenkeeper badge](https://badges.greenkeeper.io/hrueger/changelogjs.svg)](https://greenkeeper.io/)
[![License](https://img.shields.io/badge/License-MIT-blue)](./LICENSE.md)
[![GitHub last commit](https://img.shields.io/github/last-commit/hrueger/changelogjs?color=brightgreen)](https://github.com/hrueger/changelogjs/commits)
[![Maintenance](https://img.shields.io/maintenance/yes/2021)](https://github.com/hrueger/changelogjs/commits)

This is a small customizable changelog generator.

It generates the changelog based on **commit messages**, not on release notes.

The following modes are avalible:
| HTML | MD | JSON |
| ---- | -- | ---- |
| `html-gh` | `md` | `json` |
| ![Example HTML output](./example_html_output.png) | ![Example Markdown output](./example_md_output.png) | ![Example JSON output](./example_json_output.png) |

## Installation
Type `npm install @hrueger/changelogjs --global` into your terminal.

## Usage
`changelogjs` without any options. If a `changelogjs.json` file is found in the current folder or above, this is used as the configuration instead of the default values (see below).

## Configuration
Create a `changelogjs.json` file ans specify the options below:

| Option | Description | Default |
| ------ | ----------- | ------- |
| `title` | The title of the Markdown and HTML page. | `Changelog for your App` |
| `logoUrl` | The url of a Logo image to be displayed at the top of the HTML page. | Some placeholder image. |
| `logoAlt` | The alternative text for the logo. | `Logo` |
| `sort` | A `boolean` value whether the commit messages of one day should be sorted after their type or not. | `true` |
| `ignoreAuthors` | An `array` of `string` values with authors which should be ignored. | `["greenkeeper[bot]"]` |
| `headerLinks` | An array of `{url: "someUrl", text: "text to be displayed", active: false|true}` objects to be displayed as links in the header of the HTML page. | `[{url: "/", text: "Docs"}, {url: "#", text: "Changelog", active: true}]` |
| `footerLinks` | An array of `{url: "someUrl", text: "text to be displayed"}` objects to be displayed as links in the footer of the HTML page. | `[{url: "#", text: "View on GitHub"}, {url: "https://github.com/hrueger/changelogjs", text: "Generated by ChangelogJS"}]` |
| `modes` | An array of `{mode: "md"|"json"|"html-gh", file: "someFileName.ext"}` objects defining which output files with which modes should be generated. See above for the avalible modes. | `[{mode: "md", file: "CHANGELOG.md"}, {mode: "json", file: "CHANGELOG.json"}, {mode: "html-gh", file: "CHANGELOG.html"}]` |

## Contribute
Feel free to report any issues on GitHub or add new modes / features and create a pull request!

## License
MIT