A retro-styled blogging platform hosted entirely on GitHub Pages. Create posts with text, images, video, and audio through an admin interface that commits directly to GitHub.
- 8-Bit Styling: NES-inspired color palette, pixel fonts, CRT scanline effects
- No Build Tools: Pure HTML/CSS/JS that works directly on GitHub Pages
- Media Support: Upload images, videos, and audio files directly
- GitHub API Integration: Posts are stored as commits in your repository
Fork this repository or clone it to your own GitHub account.
Edit js/config.js with your repository details:
const CONFIG = {
owner: 'YOUR_GITHUB_USERNAME',
repo: 'YOUR_REPO_NAME',
branch: 'main',
// ...
};- Go to your repository on GitHub
- Navigate to Settings → Pages
- Under "Source", select Deploy from a branch
- Choose main branch and / (root) folder
- Click Save
Your site will be available at: https://YOUR_USERNAME.github.io/YOUR_REPO_NAME/
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Click Generate new token (classic)
- Give it a name (e.g., "BlogVlog Admin")
- Select the
reposcope (for private repos) orpublic_repo(for public repos) - Click Generate token
- Copy the token immediately (you won't see it again!)
- Visit your GitHub Pages URL
- Click Admin in the navigation
- Enter your Personal Access Token
- Create your first post!
blogvlog/
├── index.html # Home page - lists all posts
├── post.html # Single post viewer
├── admin.html # Admin interface
├── css/
│ └── style.css # 8-bit styling
├── js/
│ ├── config.js # Repository configuration
│ ├── github-api.js # GitHub API wrapper
│ ├── admin.js # Admin page logic
│ ├── home.js # Home page logic
│ └── post.js # Post viewer logic
├── posts/
│ └── posts.json # Index of all posts
└── media/
├── images/ # Uploaded images
├── videos/ # Uploaded videos
└── audio/ # Uploaded audio
| Media Type | Max Size | Notes |
|---|---|---|
| Images | ~37 MB | Recommend < 5 MB for fast loading |
| Videos | ~37 MB | ~2-3 min at 720p; use YouTube for longer |
| Audio | ~37 MB | ~35 min at 128kbps MP3 |
Simply open index.html in your browser. The site works locally for viewing, but you'll need a GitHub token to create posts.
- Make sure you copied the entire token (starts with
ghp_) - Verify the token has
repoorpublic_reposcope - Tokens expire - generate a new one if needed
- Wait a few seconds for GitHub Pages to update
- Hard refresh the page (Ctrl/Cmd + Shift + R)
- Check if
posts/posts.jsonwas updated in your repo
- Large files may take time to propagate through GitHub's CDN
- Check the file was uploaded in
media/folder - Verify the file size is under 37 MB
MIT License - feel free to use and modify!
Made with 🎮 and ❤️