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: 7 months ago 
        JSON representation
    
Use GitHub issues as your blog.
- Host: GitHub
 - URL: https://github.com/m4xshen/github-issue-blog
 - Owner: m4xshen
 - License: mit
 - Created: 2024-02-06T07:44:50.000Z (over 1 year ago)
 - Default Branch: main
 - Last Pushed: 2025-02-08T15:32:08.000Z (9 months ago)
 - Last Synced: 2025-04-09T16:04:42.747Z (7 months ago)
 - Topics: blog, cms, github-issues-blog
 - Language: TypeScript
 - Homepage: https://github-issue-blog.vercel.app
 - Size: 488 KB
 - Stars: 80
 - Watchers: 3
 - Forks: 13
 - Open Issues: 13
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
README
          
  GitHub Issue Blog
  Use GitHub issue as your blog.
  

  [π Example Site](https://github-issue-blog.vercel.app)
  
[](https://github.com/m4xshen/github-issue-blog/actions/workflows/playwright.yml)

## β¨ 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

## π 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