juneHQ / changelog

Next.js + MDX changelog app inspired by https://linear.app/changelog

Home Page:https://changelog.june.so

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Changelog πŸš€

summary-repo

screenshot-repo

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!

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

ezgif com-video-to-gif (39)

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.

mdx-preview

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:

  1. Create an S3 bucket for your changelog images
  2. Add the bucket name to your .env file
  3. Make sure you are authenticated to your AWS account and have the aws CLI installed
  4. Create a changelog-images directory in your repository (mkdir changelog-images)
  5. 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:

About

Next.js + MDX changelog app inspired by https://linear.app/changelog

https://changelog.june.so

License:MIT License


Languages

Language:MDX 80.8%Language:TypeScript 16.6%Language:JavaScript 2.4%Language:CSS 0.1%Language:Shell 0.1%