A beautiful, modern, and responsive changelog template built with Next.js, MDX, Tailwind CSS, and React Icons. Features a stunning dark theme with glass morphism effects and smooth animations.
- Modern Dark Theme - Beautiful dark UI with glass morphism effects
- MDX Support - Write changelog entries in Markdown with React components
- Fully Responsive - Perfect on desktop, tablet, and mobile devices
- TypeScript Ready - Full TypeScript support for better development
- SEO Optimized - Dynamic page titles and meta descriptions
- Static Export - Deploy anywhere with static file hosting
- React Icons - Beautiful icons from Feather and Remix Icon sets
- Tailwind CSS - Utility-first CSS framework for rapid development
- Clean Code - Well-structured, commented, and maintainable code
- Node.js 18.0 or higher
- npm or yarn package manager
-
Clone or download this template
git clone https://github.com/FardinHash/changelog-template cd changelog-template
-
Install dependencies
npm install # or yarn install
-
Start the development server
npm run dev # or yarn dev
-
Open your browser Navigate to http://localhost:3001
Edit pages/index.tsx
to customize:
// Update these values
<h1>Your Project Name</h1>
<p>Your Project Description - Release History</p>
// Update action buttons
<a href="https://your-docs-url.com">Documentation</a>
<a href="https://github.com/your-username/your-repo">GitHub</a>
Edit components/Layout.tsx
:
// Update page title format
<title>{meta.version} - {meta.title} - Your Project Name</title>
// Update footer
<p>Your Project Name</p>
// Update external link
<a href="https://your-docs-url.com">Documentation</a>
Create new MDX files in the pages/
directory:
pages/
v3.0.mdx # Your latest release
v2.9.mdx # Previous release
v2.8.mdx # And so on...
Edit the releases
array in pages/index.tsx
:
const releases = [
{
version: "v3.0",
title: "Your Latest Release Title",
date: "January 15, 2025",
status: "Live", // or "Released"
description: "Brief description of what's new",
contributors: ["@yourusername", "@teammate"],
},
// Add more releases...
];
Each changelog entry should be an MDX file with this structure:
import Layout from "../components/Layout";
export const meta = {
version: "v2.1",
title: "Your Release Title",
date: "December 15, 2024",
status: "Live", // or "Released"
contributors: ["@contributor1", "@contributor2"],
};
# Your Release Title
Your changelog content goes here. You can use:
## Headings
### Subheadings
- Bullet points
- **Bold text**
- _Italic text_
- `Code snippets`
```javascript
// Code blocks
const example = "Hello World";
```
Feature | Before | After |
---|---|---|
Speed | Slow | Fast |
Blockquotes for important notes
export default ({ children }) => {children};
### Supported Markdown Features
- Headers (H1-H6)
- Bold and italic text
- Code blocks with syntax highlighting
- Tables
- Lists (ordered and unordered)
- Links
- Blockquotes
- Horizontal rules
## Styling & Theming
### Color Customization
Edit `tailwind.config.js` to customize colors:
```javascript
theme: {
extend: {
colors: {
primary: {
50: "#f0f9ff", // Light accent
500: "#3b82f6", // Main accent
600: "#2563eb", // Darker accent
700: "#1d4ed8", // Darkest accent
},
},
},
},
Add custom styles in styles/globals.css
. The template uses Tailwind's @layer
directive for organization:
@layer components {
.your-custom-class {
@apply bg-white/10 rounded-xl p-4;
}
}
-
Build for production
npm run build # or yarn build
-
Deploy the
dist/
folder to any static hosting service:- Netlify
- Vercel
- DO
- GitHub Pages
- AWS S3
- Any CDN or web server
If deploying to a subdirectory, update next.config.js
:
const nextConfig = {
basePath: "/changelog",
assetPrefix: "/changelog/",
// ... other config
};
To integrate with an existing application:
-
Build the changelog
npm run build
-
Serve the
dist/
folder from your main application- Copy
dist/
contents to your server's static directory - Configure your server to serve these files at
/changelog/
- Update routing to handle changelog URLs
- Copy
npm run dev
- Start development servernpm run build
- Build for productionnpm run start
- Start production servernpm run export
- Build and export static files
The template is designed to be easily extensible:
- Add new React components in the
components/
directory - Create new pages in the
pages/
directory - Add custom styles in
styles/globals.css
- Install additional dependencies as needed
-
Port already in use
# Use a different port npm run dev -- -p 3002
-
Build errors
# Clear Next.js cache rm -rf .next npm run build
- Check the Next.js documentation
- Review MDX documentation
- Browse Tailwind CSS documentation
This template is released under the MIT License. Feel free to use it in your projects, both personal and commercial.
Contributions are welcome! Please feel free to submit issues and pull requests.
Happy changelog writing!