A beautiful, customizable, and lightweight GitHub Changelog widget for your website.
This package provides a high-level UI component (React & Vanilla JS) to display your GitHub project's release history in style. It uses @osmn-byhn/changelog-github-core for data processing.
- ✨ Stunning Themes: Built-in support for Light, Dark, and Auto modes.
- 🎨 Multiple Templates: Choose from
modern,timeline,compact,minimal,glassmorphism,accordion, and more. - ⚛️ React Ready: Native React component for seamless integration.
- 🍦 Vanilla JS Support: Easy-to-use class for non-React projects.
- 🛠️ Fully Customizable: Overridable styles and custom HTML renderers.
- 📖 Storybook: Interactive environment to preview and configure your widget.
npm install @osmn-byhn/changelog-github-client @osmn-byhn/changelog-github-core
# or
pnpm add @osmn-byhn/changelog-github-client @osmn-byhn/changelog-github-coreimport { ReactChangelogLoader } from '@osmn-byhn/changelog-github-client';
function App() {
return (
<div style={{ width: '800px' }}>
<ReactChangelogLoader
owner="facebook"
repo="react"
template="modern"
theme="auto"
maxReleases={5}
/>
</div>
);
}<div id="changelog"></div>
<script type="module">
import { GithubChangelog } from '@osmn-byhn/changelog-github-client';
const changelog = new GithubChangelog({
owner: 'facebook',
repo: 'react',
containerId: 'changelog',
template: 'timeline'
});
changelog.init();
</script>We provide a comprehensive Storybook setup to help you explore different configurations and styles.
- Clone the main repository (monorepo).
- Install dependencies:
pnpm install - Run storybook:
pnpm storybook
This will launch an interactive UI where you can play with templates (list, timeline, modern, etc.) and themes in real-time.
| Option | Type | Default | Description |
|---|---|---|---|
owner |
string |
- | GitHub repository owner/organization. |
repo |
string |
- | GitHub repository name. |
template |
string |
modern |
UI template (list, timeline, modern, compact, minimal, glassmorphism, accordion). |
theme |
string |
auto |
Color theme (light, dark, auto). |
maxReleases |
number |
5 |
Number of releases to display. |
containerId |
string |
- | ID of the target container (Vanilla JS only). |
renderCustom |
function |
- | Custom HTML renderer for absolute control. |
- @osmn-byhn/changelog-github-core: The logic engine powering this client.
MIT © osmn-byhn