Install, home and FAQ describe the signed Void xbps repository only. Pages for Flatpak, NixOS, the distro guides, changelog and local gateway are notices outside navigation and the sitemap. The JSON-LD author is the fork maintainer. The Twitter handle, Discord, X and VocaHQ links are removed, and the one footer credit stays. The web rebrand test allow-lists the exact upstream lines.
91 lines
2.0 KiB
Markdown
91 lines
2.0 KiB
Markdown
# Voculinux website
|
|
|
|
Marketing site for [voculinux.com](https://voculinux.com), built with Next.js and deployed as a static export (GitHub Pages).
|
|
|
|
Product claims and design constraints: [PRODUCT.md](PRODUCT.md), [DESIGN.md](DESIGN.md). Agent notes: [AGENTS.md](AGENTS.md).
|
|
|
|
## Development
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Production build
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
Static output is written to `out/`.
|
|
|
|
### Local preview of the build
|
|
|
|
```bash
|
|
cd out
|
|
python3 -m http.server 3000
|
|
```
|
|
|
|
Open `http://localhost:3000`.
|
|
|
|
## Scripts
|
|
|
|
| Script | Purpose |
|
|
|--------|---------|
|
|
| `npm run dev` | Dev server |
|
|
| `npm run build` | Production static export |
|
|
| `npm run deploy` | Build and prepare GitHub Pages (`.nojekyll`, `CNAME`) |
|
|
| `npm run lint` | ESLint |
|
|
| `npm run typecheck` | TypeScript |
|
|
|
|
## Deployment
|
|
|
|
Push to `main` triggers the site workflow. Production host: **voculinux.com**.
|
|
|
|
Manual path:
|
|
|
|
```bash
|
|
cd web
|
|
npm install
|
|
npm run deploy
|
|
```
|
|
|
|
That produces `out/` with `.nojekyll` and a `CNAME` for voculinux.com.
|
|
|
|
## Layout
|
|
|
|
```
|
|
web/
|
|
├── src/
|
|
│ ├── app/ # Next.js app routes
|
|
│ ├── components/
|
|
│ │ ├── site-chrome.tsx
|
|
│ │ └── ui/ # Reusable UI components
|
|
│ ├── hooks/
|
|
│ └── lib/
|
|
├── public/ # Static assets and screenshots
|
|
├── out/ # Build output (generated)
|
|
└── package.json
|
|
```
|
|
|
|
## Configuration notes
|
|
|
|
- Custom domain: `deploy` script writes `out/CNAME`
|
|
- Subdirectory deploy: set `basePath` in `next.config.js` if needed
|
|
- Visual system: warm paper, system type, documented in [DESIGN.md](DESIGN.md)
|
|
|
|
## Troubleshooting
|
|
|
|
| Symptom | Check |
|
|
|---------|--------|
|
|
| Module not found | `npm install` |
|
|
| Type errors | `npm run typecheck` |
|
|
| Lint errors | `npm run lint` |
|
|
| 404 on GitHub Pages | Ensure `out/.nojekyll` exists |
|
|
| Assets 404 | Confirm `basePath` matches deploy path |
|
|
|
|
## License
|
|
|
|
Same as the main Voculinux project ([AGPL-3.0](../LICENSE)).
|