OFF0
da3c1b02b2
moved code that creates the view dom elements into its own module. deliberately not in ui.ts as view.ts is imported early and has almost no dependecies except for nostr-tools and ./utils |
1 year ago | |
---|---|---|
src | 1 year 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 | 1 year ago | |
package.json | 1 year ago | |
tsconfig.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.