Merge pull request #904 from coracle-social/imeta

Add imeta tag
This commit is contained in:
hodlbod 2024-02-01 13:10:34 -08:00 committed by GitHub
commit 1ac28115ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 44 additions and 0 deletions

43
29.md Normal file
View File

@ -0,0 +1,43 @@
NIP029
======
imeta
--------------
`imeta` is a tag for adding media attachments to events. `imeta` tags MUST match URLs
in the event content. Clients may replace imeta URLs with rich previews. `imeta` tags
contain extra information about the media attachment, which clients can use to provide
a better experience when loading images.
The `imeta` tag is variadic, and each entry is a space-delimited key/value pair.
Each `imeta` tag MUST have a `url`, and at least one other field. `imeta` may include
any field specified by [NIP 94](./94.md). There SHOULD be only one `imeta` tag per url.
## Example
```json
{
"content": "More image metadata tests dont mind me https://nostr.build/i/my-image.jpg",
"kind": 1,
"tags": [
[
"imeta",
"url https://nostr.build/i/my-image.jpg",
"blurhash eVF$^OI:${M{o#*0-nNFxakD-?xVM}WEWB%iNKxvR-oetmo#R-aen$",
"dim 3024x4032",
"alt A scenic photo overlooking the coast of Costa Rica",
"x <sha256 hash as specified in NIP 94>",
"fallback https://nostrcheck.me/alt1.jpg"
"fallback https://void.cat/alt1.jpg"
]
]
}
```
## Recommended client behavior
When uploading images during a new post, clients MAY include this metadata
after the image is uploaded and included in the post.
When pasting urls during post composition, the client MAY download the image
and add this metadata before the post is sent.

1
94.md
View File

@ -25,6 +25,7 @@ This NIP specifies the use of the `1063` event type, having in `content` a descr
* `image` (optional) url of preview image with same dimensions * `image` (optional) url of preview image with same dimensions
* `summary` (optional) text excerpt * `summary` (optional) text excerpt
* `alt` (optional) description for accessibility * `alt` (optional) description for accessibility
* `fallback` (optional) zero or more fallback file sources in case `url` fails
```json ```json
{ {