GitHub Pages
The static QR Studio and this documentation are published to GitHub Pages:
| Site | URL |
|---|---|
| QR Studio | https://kspkr.github.io/QrForge/ |
| Documentation | https://kspkr.github.io/QrForge/docs/ |
GitHub Pages serves static files only. The hosted Studio generates and exports static codes in the browser, but accounts, dynamic codes, analytics and the API are not available there. They require a self-hosted QRForge server.
How the deployment works
The workflow .github/workflows/pages.yml runs on every push to main:
- Installs dependencies with
npm ci. - Builds the web app with
VITE_BASE=/QrForge/andVITE_STATIC_ONLY=true. The base path matches the repository name, and static-only mode removes the server features so the app never calls/api. - Builds the documentation with
DOCS_BASE=/QrForge/docs/and places it in thedocs/directory of the site. - Copies
index.htmlto404.html. GitHub Pages returns404.htmlfor unknown paths, which lets the single-page app handle routes such as/QrForge/studioon a full page load. - Uploads the result with
actions/upload-pages-artifactand publishes it withactions/deploy-pages.
Enabling it
In the repository, open Settings → Pages and set Source to GitHub Actions. The next push to main deploys the site. Deployments can also be started manually from the Actions tab.
Using it in a fork
- Fork the repository.
- Under Settings → Pages, set Source to GitHub Actions.
- If the fork has a different name, update
VITE_BASEandDOCS_BASEin.github/workflows/pages.ymlto/<repository-name>/and/<repository-name>/docs/. - Push to
main.
The site is then available at https://<user>.github.io/<repository-name>/. For a custom domain, configure it under Settings → Pages and set both base paths to / and /docs/.
Building locally
VITE_BASE=/QrForge/ VITE_STATIC_ONLY=true npm run build
DOCS_BASE=/QrForge/docs/ npm run build:docsThe output is written to apps/web/dist and apps/docs/.vitepress/dist.