I'm happy to share that njump, after a lot of tweaks and fixes, exits the beta and is ready for production, hopefully :)

# What is njump?

Njump (https://github.com/fiatjaf/njump) is a static nostr gateway that allows you to browse profiles, notes and relays; it is an easy way to preview a resource and then open it with the preferred client.

Njump currently lives under nostr.com, you can reach it appending a nostr (NIP-19) entity (npub, nevent, naddr, etc) after the domain, nostr.com/p/{nip-19-entity}, for example:

https://nostr.com/npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6

https://nostr.com/nevent1qqs860kwt3m500hfnve6vxdpagkfqkm6hq03dnn2n7u8dev580kd2uszyztuwzjyxe4x2dwpgken87tna2rdlhpd02va5cvvgrrywpddnr3jydc2w4t

https://nostr.com/naddr1qqxnzd3cxqmrzv3exgmr2wfeqy08wumn8ghj7mn0wd68yttsw43zuam9d3kx7unyv4ezumn9wshszyrhwden5te0dehhxarj9ekk7mf0qy88wumn8ghj7mn0wvhxcmmv9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7q3qdergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsxpqqqp65wy2vhhv

The typical use of njump is to share a resource outside the nostr world (clients), where the nostr: schema is not (yet) active. There are several reasons to prefer njump to share a nostr resource, versus other web clients, let's see them.

## Clean, fast and solid

Pages by njump are extremely light and fast to load because there isn't any client side javascript involved; they are minimalistic with the right attention to typography, focusing the content without unecessary details. Furthermore they are cached, so sharing a page you can expect the other part will load it without any glitch in a fraction of second: the perfect tool to onboard new users!

## Good preview

Njump previews notes in a simple but effective way, including links (to other nostr resources and web), images, video, quotes, code. It is compatible with long form content so it also renders markdown. It shows the note parent, allowing to follow it up. It has custom css for printing or exporting to PDF, so it is a nice option to read long form contents offline.

## Cooperative (jump-out)

Njump is not interested into "capture" users at all, on the contrary it invites them to "jump" to the nostr resource with one of the proposed clients. It even remembers the most used one and put it on the top for fast click/tap.

## Search engine friendly (jump-in)

This is crucial: njump pages are static so search engines can index them, these means that njump can help others to discover great content on nostr, jump in and join us! Njump is the only nostr resource that has this explicit goal, if you care that a good note could be found online use njump to share it, this way you also help nostr flourish.

## Bonus: NIP-5 profiles

Now you can share your own profile with an pretty permalink: nostr.com/p/{nip-5}, example: https://nostr.com/p/fiatjaf.com

A profile shows the basic metadata infos, the used "outbox" relays (Gossip model) and the last notes.

Of course profiles are also static, fast and indexable, so start to promote your nostr presence this way!

## Bonus 2: relays

You can have a view of the last content posted to a relay using nostr.com/r/{relay-host}, example: https://nostr.com/r/nostr.wine

Some basic infos (NIP-11) are available; I hope operators will start to make them more personal and informative so users can have a way to evaluate if/when to join a relay.

## Bonus 3: Inspector tool

You know, we are all devs including our moms, so for every njump resource you can toggle the "Show more details" switch and inspect the full event's json; without installing other tools, like nak, this is probably the fastest way to obtain it.

Reply to this note

Please Login to reply.

Discussion

very useful!

Nice

nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 the rendering of the links of this note on Snort is broken, I guess a glitch in the regex.

What a horrible markdown syntax you got here.

Why? I like it.

If the client supports markdown this improves the readibility; if not the ascii version is still clearer than putting the titles on a plain line.

If you talk about not promoting md use on a kind:1... I can understand.

I was just kidding, but good answer nonetheless.

nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z does Amethyst "capture" the nostr.com/xxx links and redirects inside the app itself? Why not respect the intended behaviour? Or at least ask the user what he want to do.

I think this is a bug somewhere.

Thanks if you will check it.

I did a couple of tests and other similar links seem to work fine: nostr:npub1hfvr8a93geddl4t3kf5jn0awvuuscl5925fu0hay0yw06wkv8w3sr7p9sc

Maybe a regex problem somewhere!

Cool, was just thinking about something this being useful.

nice!

Very cool! Sounds like an awesome way to share NOSTR content to non NOSTR types! .uch needed! Thank you Danielle! #grownostr

Another Nostr tool you may have missed. A nice web front end for Nostr events. I had been sending screenshots of Nostr to my normier friends, but from now on I'm using this!

https://nostr.com/npub1m64hnkh6rs47fd9x6wk2zdtmdj4qkazt734d22d94ery9zzhne5qw9uaks

nostr:nevent1qqsqqqqq009w6ftu98u3yrk44u30fr9dd8f908teqc8vemdt32tcl0qpp4mhxue69uhkummn9ekx7mqzypaaaaa7ytwcuk05vq8qgj498gw0jadfm37j0h6cxw780kmcffvq2qcyqqqqqqgdu0wa9

This is a way bigger deal than it appears on the surface!

nostr:note1qqqqq772a5jhc20ezg8dttez7jx266wj27whjpswenk6hz5h377qkug6yz

Drivechains for nostr?

I don't even know what drivechains are besides a vehicle part.

✅🤺

Look into it https://drivechain.xyz/

It's a way to extend bitcoin without threatening the mainchain slowness and stability we all love.

This is a fantastic idea and I’m excited to see it evolve. Test notes still are quite previewing right (see the tweet I linked below) but notes with an image preview very well.

https://x.com/z_cress/status/1692149325608915301?s=46&t=-mus6KRMCVYiBoT8SMf7iA

Uh weird offset error, we will check it, thanks for the report!

Glad you were able to decipher what I meant through the typos. 🤦‍♂️

:))

You shared a x.com link, did you remember where did you found it? Did you post the link using the app or the web?

I suspect that twitter is using a new bot name related to x.com, and this ruins our nice preview.

I believe I saw an article that the share button on posts in the X app now generates a x.com link instead of a twitter.com link.

Thanks for the info!

💜🤙

Just updated the Android app and the preview still points to twitter.com/

Maybe IOS?

Fwiw the same clipping thing happened on Facebook.

Your third example is a long-form post? Honestly I think it’s better than the apps dedicated to long-form posts 😅

What is “naddr” btw? Why not use a “nevent” url for the long-form post as well? Would it render differently if you used the nevent link instead?

Also how does the app redirect or app suggestion work? Do you plan to somehow recommend that people read the posts on other apps?

I see the pop up on the bottom of the screen now! Nevermind on the third question

Oh thanks, glad you like the long format view :) It also has a quite good print/pdf rendering.

naddr is a nostr parameterized replaceable event coordinate, for long format you should use it because the single version (nevent) could be updated.

Currently the app selection is static, probability NIP-89 will be implemented.

No plans to export statistic about the usage, we don't keep any data about that.

Sorry for this being off topic, but what do you mean by nevent being updated? Like they could edit the article? Or the relay could delete and re-use the same event ID?

Or is naddr sort like a hash that is permanent?

> Like they could edit the article?

Yes. An edit produces a new event.

> Or the relay could delete and re-use the same event ID?

No, an event ID is generated by the sign fuction, with the user priv key, applied to the whole payload, so only the user can create an event/id. If the content changes, the ID cannot be the same,

> Or is naddr sort like a hash that is permanent?

A sort of, it includes the "coordinates", check:

NIP-01 https://github.com/nostr-protocol/nips/blob/master/01.md

"for kind n such that 30000 <= n < 40000, events are parameterized replaceable, which means that, for each combination of pubkey, kind and the d tag, only the latest event is expected to be stored by relays, older versions are expected to be discarded."

NIP-23: https://github.com/nostr-protocol/nips/blob/master/23.md

"These articles are meant to be editable, so they should make use of the parameterized replaceability feature and include a d tag with an identifier for the article."

...

"The article may be linked to using the NIP-19 naddr code along with the a tag."

So "pubkey, kind and the d tag" are the coordinates used to get the last version of a replaciable event.

To inspect a nostr object use https://nak.nostr.com

nostr:note1qqqqq772a5jhc20ezg8dttez7jx266wj27whjpswenk6hz5h377qkug6yz 如果nostr.com这个gateway功能本地化为一个软件,nip19标识就是url,每个npub都变成了网站,现有客户端可以是类似rss阅读器的应用运行在其上,这就是真正的nostr browser了。

这种定义的浏览器没有现在客户端UI/UX的限制,可以更容易对广泛新的kind增加支持,nostr完全变成了新web的数据层。

this is a must have! 👀

nostr:note1qqqqq772a5jhc20ezg8dttez7jx266wj27whjpswenk6hz5h377qkug6yz

Really nice!