mirror of
https://github.com/PR0M3TH3AN/VoxVera.git
synced 2026-10-27 09:40:40 +00:00
41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
# Contributing To VoxVera
|
|
|
|
VoxVera `main` is a static Nostr client. Keep contributions focused on the browser editor/viewer, Nostr event validation, printable flyer rendering, and static deployment.
|
|
|
|
## Frontend
|
|
|
|
- Edit the active app under `site/nostr/`.
|
|
- Keep dependencies vendored under `site/nostr/vendor/`; do not rely on CDNs.
|
|
- Preserve viewer mode as a flyer-first experience.
|
|
- Keep editor, load, print, language, and other controls hidden from print output.
|
|
- Verify print layout after changes that affect the flyer surface.
|
|
|
|
## Localization
|
|
|
|
The static client currently uses `site/nostr/locales.js` plus the `NOSTR_UI` table in `site/nostr/nostr-client.js`.
|
|
|
|
When adding user-facing text:
|
|
|
|
- Add translations for every supported language.
|
|
- Check right-to-left languages in the browser where layout may be affected.
|
|
- Keep side-tab strings short enough for tear-off strips.
|
|
|
|
## Nostr Schema
|
|
|
|
Python validation helpers live in `voxvera/nostr/`. Keep the schema conservative:
|
|
|
|
- Reject raw HTML in user-supplied flyer fields.
|
|
- Reject unsupported URL schemes.
|
|
- Keep attachments out of V1 events unless the spec is deliberately expanded.
|
|
|
|
## Verification
|
|
|
|
Run:
|
|
|
|
```bash
|
|
node --check site/nostr/nostr-client.js
|
|
pytest -q
|
|
```
|
|
|
|
For UI work, also run a local static server and inspect `/nostr/` in a browser.
|