a nostr web interface in vanilla JS https://nostr.ch/
 
 
 
 
 
Go to file
OFF0 23188c161f
utils: move lock and unlock scroll functions to utils
2023-04-16 17:01:15 +02:00
src utils: move lock and unlock scroll functions to utils 2023-04-16 17:01:15 +02:00
tools add an about page 2022-12-09 01:04:36 +01:00
.gitignore initial 2022-11-06 02:35:27 +01:00
.woodpecker.yml add an about page 2022-12-09 01:04:36 +01:00
LICENSE initial 2022-11-06 02:35:27 +01:00
README.md docs: update links in the readme file 2022-12-18 17:51:52 +01:00
esbuildconf.js styles: move stylesheets to styles 2023-04-16 17:01:13 +02:00
package-lock.json relays: type and upgrade to nostr-tools@1.6.0 2023-04-16 17:01:02 +02:00
package.json relays: type and upgrade to nostr-tools@1.6.0 2023-04-16 17:01:02 +02:00
tsconfig.json typescript 2023-04-16 17:01:12 +02:00

README.md

nostr web client

this is a web interface to nostr. a live instance is hosted at https://nostr.ch/

some useful resources:

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

  1. make sure version field in package.json as seen by remote git on master branch matches the tag created in the next step.
  2. tag a commit on master branch with a git tag v<vesion>.
  3. 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.