erwamartin / changelog-to-html

πŸ“ CLI for converting a CHANGELOG.md that follows the http://keepachangelog.com convention into a static web page with permalinks and a GitHub look and feel.

Home Page:https://activeviam.com/blog/maintaining-changelog-delivering-static-web-page/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm version build status

Goal

This package provides a CLI for converting a CHANGELOG.md file that follows the Keep a Changelog convention into a static web page with permalinks and a GitHub look and feel.

Screenshot

The generated HTML page looks like this:

Screenshot of a generated HTML page from one CHANGELOG.md

Permalinks

This package generates permanent links for each section.

Let's take a changelog example:

## [0.3.0] - 2003-03-03

### Added

* A bullet.

## [0.2.0] - 2002-02-02

### Added

* Another bullet.

## [0.1.0] - 2001-01-01

### Added

* Last bullet.

GitHub will generates these URLs:

  • 030---2003-03-03
    • added
  • 020---2002-02-02
    • added-1
  • 010---2001-01-01
    • added-2

This makes the added anchors ephemeral. Indeed, when you release another version of your package, all the existing anchors will change because GitHub will increment their trailing number:

  • 040---2004-04-04
    • added
  • 030---2003-03-03
    • added-1 (used to be added)
  • 020---2002-02-02
    • added-2 (used to be added-1)
  • 010---2001-01-01
    • added-3 (used to be added-2)

On the other hand, this package will generate these anchors:

  • 0.3.0
    • 0.3.0-added
  • 0.2.0
    • 0.2.0-added
  • 0.1.0
    • 0.1.0-added

By prefixing the type of changes section anchor with the release name, we guarantee that the link will be permanent.

Usage

  1. Add this package to your dependencies: npm install --save-dev changelog-to-html
  2. Add "changelog-to-html": "changelog-to-html" to your package.json scripts.

You can get the command help by running npm run changelog-to-html -- --help.

About

πŸ“ CLI for converting a CHANGELOG.md that follows the http://keepachangelog.com convention into a static web page with permalinks and a GitHub look and feel.

https://activeviam.com/blog/maintaining-changelog-delivering-static-web-page/

License:MIT License


Languages

Language:JavaScript 93.4%Language:HTML 6.6%