English | 中文
GitHub Blogger is a VS Code extension for writing and managing blog posts via GitHub issues. It supports Markdown editing, live preview, and seamless publishing — all powered by GitHub.
In principle, it works with all VSCodium-based editors, such as Cursor, TRAE, Kiro and Google Antigravity.
- Manage and publish blog posts via GitHub issues
- GitHub-native interaction experience
- Markdown editing with live preview and plugin support (Math, Mermaid, etc.)
- Free image hosting support: images are stored in your blog repository and served via jsDelivr CDN
- All posts and edit history (as Git commits) are stored in your blog repository
Important
Your blog repository must be public for jsDelivr CDN to work (why, set visibility)
- Create a GitHub account (skip if you already have one)
- Create a public repository (skip if you want to use an existing one)
- Generate a GitHub Personal Access Token (classic) and select at least the
public_reposcope - Install the GitHub Blogger extension from the Visual Studio Marketplace or Open VSX
- Open the command palette (Cmd + Shift + P / Ctrl + Shift + P), search for
Configure GitHub Bloggerto set up - Then run
Open GitHub Bloggerand start writing!
To update extension settings, run Configure GitHub Blogger or edit VS Code settings.json directly. Example:
{
"github-blogger.token": "your-github-token",
"github-blogger.user": "your-github-username",
"github-blogger.repo": "your-github-repo",
"github-blogger.branch": "main"
}This extension requires a GitHub Personal Access Token (classic) with at least one of the following scopes:
public_repo- minimum required scope when using a public repository (issues, labels, contents/git, etc.)repo- only needed if you plan to access or create a private repository
- Posts and images are stored under
archivesandimagesin your blog repository - The working branch is configured via
github-blogger.branch, withmainas the default. In most cases, you do not need to change it. If the branch does not exist, post/image storage may fail, and images in posts may not display correctly.
This project is built upon and inspired by the open-source community, including:
- Aaronphy/Blogger – Project inspiration
- @octokit/core – GitHub's official SDKs
- @primer/react – GitHub's official UI components
- @tomjs/vite-plugin-vscode – VS Code extension tooling
- bytemd – Markdown editor
- jsDelivr – Free CDN service
- github-issue-toc – Generate a table of contents for GitHub issue


