Changelog 🚀
Set-up a changelog and share what you ship as easy as 1-2-3. A Next.js blog starter project built with MDX and Chakra UI. Fully-customizable and open source, so don't hesitate to add new features and report bugs!
👉 Visit working demo
Features
- 💅 A stylish changelog
- ⏳ Timeline view
- 📆 Date switcher
- 🧩 Mosaic mode
- 🏄♀️ Smooth transitions
- 🎉 Celebrate your team's achievements with team credits on each post
- ⚙️ Easy-to-use admin panel
👇 Mosaic mode in action below
Getting started
The easiest way to try this is to run it locally on your computer.
First, you'll need to create your own copy of this code. You can do so by clicking the "Fork" button on GitHub and filling out the form.
Once you've cloned the repository, create a .env.local
file to setup the environment variables, you can reuse the default variables or change them as you will:
cp .env.example .env.local
Then install dependencies and start the Next.js server:
# Using yarn
yarn install
yarn dev
# Using npm
npm install
npm run dev
Deploying
You can deploy your blog to any hosting provider that supports Next.js. We recommend Vercel, as it is the easiest way to deploy Next.js apps.
To deploy you'll need to make sure you include the right environment variables. You can find some examples of our environment variables in the .env.local.example
file.
Routes
/pages/:pageNumber
- displays paginated articles/
- redirects to/pages/0
/changelogs/:id
- displays one article
File structure
bin # Scripts
components # Reusable components
├─ core
├─ mdx-layout.tsx
└─ ...
lib # Types, theme, utilities, services
pages
├─ changelogs # MDX articles
├─ page
│ └─ [page].tsx # Paginated articles
├─ _app.tsx
└─ _middleware.ts
...
Writing articles
To write a new blog post, create a new .mdx
file in the /pages/changelogs
directory.
Anatomy of an MDX article
MDX is a superset of markdown that lets you write JSX directly in your markdown files. It is a powerful way to add dynamic interactivity, and embed components within your content, helping you to bring your pages to life.
Learn more 👉 Next.js: Using MDX, Using MDX
Managing images and assets
If you start having too many changelogs, you'll want to move your images in an S3 bucket.
To do so you'll need to:
- Create an S3 bucket for your changelog images
- Add the bucket name to your
.env
file - Make sure you are authenticated to your AWS account and have the
aws
CLI installed - Create a
changelog-images
directory in your repository (mkdir changelog-images
) - Run
sync_images.sh
to sync the images from your local to your S3 bucket
You'll need to run the sync_images.sh
script to sync your local images with your S3 bucket. This script will upload all images in the /changelog-images
directory to your S3 bucket.
./sync_images.sh
Branding customization
Most of the branding elements can be found in <Navbar>
and <Footer>
components. To customize these components, update the code in these directories: