An open API service indexing awesome lists of open source software.

https://github.com/m4xshen/github-issue-blog

Use GitHub issues as your blog.
https://github.com/m4xshen/github-issue-blog

blog cms github-issues-blog

Last synced: 25 days ago
JSON representation

Use GitHub issues as your blog.

Awesome Lists containing this project

README

        


GitHub Issue Blog

Use GitHub issue as your blog.

![screenshot](https://github.com/user-attachments/assets/4ec02823-dfd4-41d6-aa24-bc37f303cfd1)

[🌐 Example Site](https://github-issue-blog.vercel.app)

[![Playwright Tests](https://github.com/m4xshen/github-issue-blog/actions/workflows/playwright.yml/badge.svg)](https://github.com/m4xshen/github-issue-blog/actions/workflows/playwright.yml)
![Vercel](https://therealsujitk-vercel-badge.vercel.app/?app=github-issue-blog)

## ✨ Features

- 🐱 Use GitHub issues as your blog storage
- πŸ’¬ Comment Section
- πŸ“ Create / Edit / Delete posts
- πŸŒ“ Light / Dark theme
- πŸ“± RWD
- πŸ§‘β€πŸ’» Syntax Highlighting
- ♾️ Infinite scroll at home page
- πŸ” SEO Friendly

![lighthouse](https://github.com/m4xshen/github-issues-blog/assets/74842863/84c19d65-90f4-45e3-8100-ef81b60ad089)

## πŸš€ Get started

1. Fork this repository
2. [Create a GitHub OAuth app](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) with the callback URL: `your-site-domain/auth/callback`
3. Create a personal access token.
4. You can customize the blog with environment variables. Here's an example:

```
GITHUB_CLIENT_ID="your oauth app client id"
GITHUB_CLIENT_SECRET="your oauth app client secret"
GITHUB_TOKEN="your personal access token"
AUTHOR_NAME="Daniel"
BLOG_TITLE="Daniel's Blog"
BLOG_DESCRIPTION="Hi, I'm Daniel, a software engineer from Taiwan. Welcome to my blog!"
NEXT_PUBLIC_OWNER="m4xshen" (your GitHub username)
NEXT_PUBLIC_REPO="github-issue-blog" (the GitHub repository name that you want to store posts in)
```

If you plan to deploy your site...

- with Vercel: [add environment variables in settings](https://vercel.com/docs/projects/environment-variables)
- by yourself: copy above content to `.env.local`

5. Deploy the site and login to start blogging!

- with Vercel: [follow the docs](https://vercel.com/docs/deployments/overview)
- by yourself: `pnpm build && pnpm start` and check out http://localhost:3000