1# 🪪 radon.js - names & faces23radon.js is a miniature profile loader. Any element with `nrn-profile` gets its author's name, picture or other kind 0 fields filled in, with requests batched across the page and results cached. NIP-05 identifiers are checked, and newly seen or published profiles update every element at once.45```html6<span nrn-profile="npub1..." nrn-field="name">npub1...</span>7<img nrn-profile="{pubkey}" nrn-field="picture">8```910The span's text becomes the author's name, and the image's `src` their picture.1112## Attributes1314| attribute | description |15|---|---|16| `nrn-profile` | Hex pubkey, or `npub`/`nprofile` when neon.js is loaded |17| `nrn-field` | Kind 0 field to fill (on the element itself or descendants): `name`, `picture`, `about`, `nip05`, ... `img` gets `src`, others `textContent` |18| `nrn-verified` | Set by radon when the profile's `nip05` checks out |19| `nrn-ignore` | radon skips this element and its descendants |2021`name` falls back to `display_name`. Requests go to the element's relays from hydrogen (the closest `nhy-relay`, else `nhyCfg.relays`) plus `window.nrnCfg.relays` (default `wss://purplepag.es`).2223## Events2425| event | cancel to | detail |26|---|---|---|27| `nrn:profile` | skip filling this element | `pubkey`, `profile` |2829## API3031| function | returns |32|---|---|33| `radon.get(pubkey)` | promise of the profile (or `undefined`) |34| `radon.cache` | profiles by hex pubkey |3536Requires xenon.js.