mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -05:00
mime-type update
moving mime-type into m tag
This commit is contained in:
parent
2ba0313fee
commit
2442642aaf
33
22.md
33
22.md
|
@ -9,45 +9,54 @@ Traditional static content limits user interaction and engagement. Smart Widgets
|
||||||
A new addressable event kind is proposed for Smart Widgets kind 30031. This event kind will encapsulate the data necessary to render and interact with the Smart Widgets.
|
A new addressable event kind is proposed for Smart Widgets kind 30031. This event kind will encapsulate the data necessary to render and interact with the Smart Widgets.
|
||||||
|
|
||||||
## Event Structure
|
## Event Structure
|
||||||
The content of these events `MUST` be of stringified JSON of any `mime-type` and `<data>`. It is required and can't be empty.
|
The content of these events `MUST` be of a specified `mime-type` in a corresponding `m` tag. It is required and can't be empty.
|
||||||
For more info [see](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
|
For more info [see](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
|
||||||
|
|
||||||
The list of tags are as follows:
|
The list of tags are as follows:
|
||||||
|
|
||||||
`d` (required) universally unique identifier (UUID). Generated by the client creating the smart widget event.
|
`d` (required) universally unique identifier (UUID). Generated by the client creating the smart widget event.
|
||||||
|
|
||||||
|
`m` (required) allows clients to easily know file type before downloading it
|
||||||
|
|
||||||
`title` (optional) title of the smart widget.
|
`title` (optional) title of the smart widget.
|
||||||
|
|
||||||
`summary` (optional) description of the smart widget and its usage.
|
`summary` (optional) description of the smart widget and its usage.
|
||||||
|
|
||||||
`client` (optional) reference for the used client for creating the smart widget according to [NIP-89](../blob/master/89.md).
|
`client` (optional) reference for the used client for creating the smart widget according to [NIP-89](../blob/master/89.md).
|
||||||
|
|
||||||
`published_at` (optional) Publishing time of the smart widget differs from the created_at for edited smart widgets.
|
`published_at` (optional) Publishing time of the smart widget differs from the created_at for edited smart widgets.
|
||||||
|
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"id": <32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>,
|
"id": <32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>,
|
||||||
"pubkey": <32-bytes lowercase hex-encoded public key of the event creator>,
|
"pubkey": <32-bytes lowercase hex-encoded public key of the event creator>,
|
||||||
"created_at": <Unix timestamp in seconds>,
|
"created_at": <Unix timestamp in seconds>,
|
||||||
"kind": 30031,
|
"kind": 30031,
|
||||||
"content": {
|
"content": <JSON-stringified-data>,
|
||||||
"mimeType": <mime-type>,
|
|
||||||
"data": <data>
|
|
||||||
},
|
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "UUID"],
|
["d", "UUID"],
|
||||||
|
["m", <mime-type>],
|
||||||
["title", "<title of smart widget event>"],
|
["title", "<title of smart widget event>"],
|
||||||
["summary", "<description of smart widget event>"],
|
["summary", "<description of smart widget event>"],
|
||||||
["client", "<client_name>", "31990:app1_pubkey:<d_identifier>"],
|
["client", "<client_name>", "31990:app1_pubkey:<d_identifier>"],
|
||||||
["published_at", "<Unix timestamp in seconds>"],
|
["published_at", "<Unix timestamp in seconds>"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
A stringified JSON of the kind 30031 smart widget would look like this:
|
A stringified JSON of the kind 30031 smart widget would look like this:
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"created_at": 1725188436112,
|
"created_at": 1725194263529,
|
||||||
"kind": 30031,
|
"kind": 30031,
|
||||||
"tags": [
|
"tags": [
|
||||||
[
|
[
|
||||||
"d",
|
"d",
|
||||||
"534304df-be5e-47bf-a761-1e6515e3ca75"
|
"534304df-be5e-47bf-a761-1e6515e3ca75"
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"m",
|
||||||
|
"image/svg+xml"
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"client",
|
"client",
|
||||||
"My Client",
|
"My Client",
|
||||||
|
@ -60,15 +69,11 @@ A stringified JSON of the kind 30031 smart widget would look like this:
|
||||||
[
|
[
|
||||||
"summary",
|
"summary",
|
||||||
"Take control of your relay lists, or let them control you."
|
"Take control of your relay lists, or let them control you."
|
||||||
],
|
|
||||||
[
|
|
||||||
"published_at",
|
|
||||||
1725188436112
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"content": "{\"mimeType\": \"image/svg+xml\", \"data\": '<svg viewBox=\"0 0 10 5\" xmlns=\"http://www.w3.org/2000/svg\"><a href=\"https://relays.xport.top\" target=\"_blank\"><rect width=\"10\" height=\"5\"><animate attributeName=\"rx\" values=\"0;5;0\" dur=\"2s\" repeatCount=\"indefinite\" /></rect></a></svg>'}",
|
"content": "<svg viewBox=\"0 0 10 5\" xmlns=\"http://www.w3.org/2000/svg\"><a href=\"https://relays.xport.top\" target=\"_blank\"><rect width=\"10\" height=\"5\"><animate attributeName=\"rx\" values=\"0;5;0\" dur=\"2s\" repeatCount=\"indefinite\" /></rect></a></svg>",
|
||||||
"pubkey": "b12e28991eae808d408208743f382d99b777c51887286c6002258b5bed9d9c8b",
|
"pubkey": "b12e28991eae808d408208743f382d99b777c51887286c6002258b5bed9d9c8b",
|
||||||
"id": "9fa84aa80a6d69000e887809001343884e2d7e8612b9d83010e9a709b93b5ead",
|
"id": "fbd1d692610c0dc1090fd37058d36d749b753d57b9ad5521f1d84dad3914a044",
|
||||||
"sig": "899fbf179cc781cb5951171d4500f56b2bc953f816f425fe049183929aef338441c21125bed7d0b969d0f26899b03b6991db69c073b7ed3a7ae99e29f4abd43c"
|
"sig": "8d51e221ebd570f0eb3c899ebe1a8248e468a0db44f35591901c7ccb668db6e6f02d787216eaae58dfdced41e6677f270467933cb36b67d6297417fcda09a60e"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in New Issue
Block a user