mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -05:00
48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
NIP-64
|
|
======
|
|
|
|
Build Your Own Story
|
|
--------------------
|
|
|
|
`draft` `optional`
|
|
|
|
This NIP defines `kind:296` and `kind:297` as text notes with options to navigate to the next text notes and continue reading. Kind `296` serves as the root story and `297` for the sections of that story.
|
|
|
|
The idea is to replicate the dynamism of build your own adventure books, where each reader takes their own journey in the story.
|
|
|
|
Story Section events contain an optional `title` tag and `option` tags for the next sections.
|
|
|
|
Clients SHOULD render options in a way that users can select and move to that post.
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 296,
|
|
"content": "<the beginning of the story>",
|
|
"tags": [
|
|
["title", "<short title for this part of the story>"],
|
|
|
|
["option", "<description>", "<event_id>", "<relay_hint>"],
|
|
["option", "<description>", "<event_id>", "<relay_hint>"],
|
|
// ...
|
|
]
|
|
}
|
|
```
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 297,
|
|
"content": "<continuation of the story>",
|
|
"tags": [
|
|
["title", "<short title for this part of the story>"],
|
|
|
|
["e", "<event_id>", "<relay_hint>" ] // root event.
|
|
["option", "<description>", "<event_id>", "<relay_hint>"],
|
|
["option", "<description>", "<event_id>", "<relay_hint>"],
|
|
// ...
|
|
]
|
|
}
|
|
```
|
|
|
|
The story ends when there are no `option`s available.
|
|
|
|
`.content` SHOULD use the same formatting rules as `kind:1` |