remark-conventional-commit-changelog-timeline
v3.2.3
Published
Remark plugin to process Conventional Commits changelogs to be displayed in a timeline.
Maintainers
Readme
Install
This package is not pure ESM, you can require it.
npm i remark-conventional-commit-changelog-timelineQuick Take
import { strict as assert } from "assert";
import { unified } from "unified";
import remarkParse from "remark-parse";
import remarkRehype from "remark-rehype";
import remarkGfm from "remark-gfm";
import rehypeFormat from "rehype-format";
import rehypeStringify from "rehype-stringify";
import c from "remark-conventional-commit-changelog-timeline";
function render(str, opts) {
let res = unified()
.data("settings", { fragment: true })
.use(remarkParse)
.use(remarkGfm)
.use(remarkRehype)
.use(c, opts)
.use(rehypeFormat)
.use(rehypeStringify)
.processSync(str);
return res.value;
}
let input = `
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# 3.1.0 (2022-08-12)
### Features
- abc
- xyz
`;
let expected = `
<h2>3.1.0</h2>
<div class="release-date">Aug 12, <span>2022</span></div>
<h3><span class="emoji">✨</span> Features</h3>
<ul>
<li>abc</li>
<li>xyz</li>
</ul>
`;
assert.equal(
render(input, {
// defaults:
dateDivLocale: "en-US",
dateDivMarkup: ({ date, year, month, day }) =>
`${month} ${day}, <span>${year}</span>`,
}),
expected,
);Documentation
Please visit codsen.com for a full description of the API. If you’re looking for the Changelog, it’s here.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License
Copyright © 2010-2025 Roy Revelt and other contributors
