remark-conventional-commit-changelog-timeline
v3.1.11
Published
Remark plugin to process Conventional Commits changelogs to be displayed in a timeline.
Downloads
14
Maintainers
Readme
Install
This package is not pure ESM, you can require
it.
npm i remark-conventional-commit-changelog-timeline
Quick 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",
// eslint-disable-next-line no-unused-vars
dateDivMarkup: ({ date, year, month, day }) =>
`${month} ${day}, <span>${year}</span>`,
}),
expected,
);
Documentation
Please visit codsen.com for a full description of the API.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License.
Copyright © 2010-2024 Roy Revelt and other contributors.