Commit 13dfc56
committed
Harden project for GitHub Pages deployment
Router changes:
- Switched from BrowserRouter to HashRouter for reliable GitHub Pages routing
- Removed basename prop (not needed with HashRouter)
- Hash routing ensures all routes work without server configuration
- URLs now use # fragment (e.g., /#/matrix, /#/ext/redis)
- Refresh and direct links work on any page
Vite configuration updates:
- Auto-detect repository name from GITHUB_REPOSITORY env var
- Automatically set base path for GitHub Actions builds
- Only use /{repo-name}/ if not a .github.io repo
- Support manual override via VITE_BASE_PATH
- Clean fallback to / for local development
GitHub Actions workflow:
- Already using official upload-pages-artifact@v3
- Already using official deploy-pages@v4
- Proper permissions and concurrency settings
- Environment variables properly configured
README.md - Comprehensive documentation:
- Quick start with Bun installation
- Local development instructions
- Environment variable configuration guide
- GitHub Pages deployment steps
- Dataset format documentation (schema v1.0)
- Publishing dataset options (same repo, separate repo, external)
- Complete troubleshooting section:
- Blank page / 404 issues
- Asset loading problems
- CORS configuration for different servers
- Cache issues
- Build failures
- Development tips
- Project structure overview
- Performance features list
- Browser support matrix
- Contributing guidelines
Troubleshooting covers:
- HashRouter prevents refresh 404s
- CORS headers for GitHub Pages, Nginx, AWS S3
- Cache busting strategies
- Filter reset instructions
- TypeScript and build debugging
The project is now production-ready for GitHub Pages with:
- No server configuration required
- Reliable routing on all platforms
- Automatic base path detection
- Comprehensive documentation
- Full troubleshooting guide1 parent f2efa02 commit 13dfc56
3 files changed
Lines changed: 383 additions & 116 deletions
0 commit comments