OFF0
cd99b5e5c1
Added deeplinks with browser history support. Each note and author have now a detail view under nostr.ch/<event-id-or-pubkey> in a future commit also /e/<event-id> and /p/<pubkey> could be supported. User can now navigate with browser back (with the expection of the settings overlay). Not everything is supported in the detail view (yet) i.e reply and stars are partially working (dont update visually), leaving this as open bug. This should fix itself once only 1 render container is used instead of different divs in the html for each view. Ideally the detail view should also query for related events, something to add in a future commit |
2 years ago | |
---|---|---|
src | 2 years ago | |
tools | 2 years ago | |
.gitignore | 2 years ago | |
.woodpecker.yml | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
esbuildconf.js | 2 years ago | |
package-lock.json | 2 years ago | |
package.json | 2 years ago |
README.md
nostr web client
this is a web interface to nostr. a live instance is hosted at https://nostr.ch/
some useful resources:
- JS library used in this project: https://github.com/fiatjaf/nostr-tools
- NIPs: https://github.com/nostr-protocol/nips
- relays registry: https://nostr-registry.netlify.app
- event inspector: https://nostr.guru
- a list of nostr projects and resources: https://nostr.net
dev
nodejs v18.x and npm v8.x are recommended.
after npm install
, start by running a dev server with:
npm run serve
and point a browser to http://127.0.0.1:8001/
the serve
command injects a live reload snippet. to build a "production" copy,
execute
npm run build
the build is done using esbuild, with a config in
esbuildconf.js. the result is placed in dist
directory.
release
- make sure
version
field in package.json as seen by remote git on master branch matches the tag created in the next step. - tag a commit on master branch with a
git tag v<vesion>
. - push the tag to the remote:
git push --tags
.
the CI then receives a git tag event, executes npm run build
, creates
a tar.gz with all the files found in dist
directory and uploads it as a new
release artifact. the release is named after the tag name.
the idea is that nostr web instances are then notified about a new release, download the tar.gz archive and update their local copies. this is not yet implemented. at the moment, the CI symply rsync's dist/ with a remote on https://nostr.ch.