Names, wordmarks, package and install references move to voculinux; site domain to voculinux.com with renamed public assets. Layout keeps Carbon spacing/type/motion discipline remapped to the house palette (teal interactive, warm paper, system stacks, red reserved). Header and footer gain Bongbetic attribution chrome linking hosted brand assets; no brand binaries vendored. Engine copy states whisper.cpp as guaranteed default, others as best-effort extras, remote API as user-configured with audio leaving the machine. Nix page carries a fork-status note (upstream flake installs Vocalinux). Refs #24
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
|
|
- Family workbench UI: warm paper, system type, same language as VocaHQ ([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)).
|