NIP-23
Long-form Content
draft optional
This NIP defines kind:30023 (an addressable
event) for long-form text content, generally referred to as
“articles” or “blog posts”.
Deprecated: kind:30024 was used for long-form
drafts (self-encrypted nip04, same format as
kind:30023). The preferred way of doing long-form
drafts is to use NIP-37 instead.
“Social” clients that deal primarily with kind:1
notes should not be expected to implement this NIP.
Format
The .content of these events should be a string
text in Markdown syntax. To maximize compatibility and readability
between different clients and devices, any client that is creating
long form notes:
MUST NOT hard line-break paragraphs of text, such as arbitrary line breaks at 80 column boundaries.
MUST NOT support adding HTML to Markdown.
Metadata
For the date of the last update the .created_at
field should be used, for “tags”/“hashtags” (i.e. topics about
which the event might be of relevance) the t tag
should be used.
Other metadata fields can be added as tags to the event as necessary. Here we standardize 4 that may be useful, although they remain strictly optional:
"title", for the article title"image", for a URL pointing to an image to be shown along with the title"summary", for the article summary"published_at", for the timestamp in unix seconds (stringified) of the first time the article was published
Editability
These articles are meant to be editable, so they should include
a d tag with an identifier for the article. Clients
should take care to only publish and read these events from relays
that implement that. If they don’t do that they should also take
care to hide old versions of the same article they may
receive.
Linking
The article may be linked to using the NIP-19 naddr code along with
the a tag.
References
References to other Nostr notes, articles or profiles must be
made according to NIP-27, i.e. by using
NIP-21 nostr:... links and
optionally adding tags for these (see example below).
Example Event
{
"kind": 30023,
"created_at": 1675642635,
"content": "Lorem [ipsum][nostr:nevent1qqst8cujky046negxgwwm5ynqwn53t8aqjr6afd8g59nfqwxpdhylpcpzamhxue69uhhyetvv9ujuetcv9khqmr99e3k7mg8arnc9] dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\nRead more at nostr:naddr1qqzkjurnw4ksz9thwden5te0wfjkccte9ehx7um5wghx7un8qgs2d90kkcq3nk2jry62dyf50k0h36rhpdtd594my40w9pkal876jxgrqsqqqa28pccpzu.",
"tags": [
["d", "lorem-ipsum"],
["title", "Lorem Ipsum"],
["published_at", "1296962229"],
["t", "placeholder"],
["e", "b3e392b11f5d4f28321cedd09303a748acfd0487aea5a7450b3481c60b6e4f87", "wss://relay.example.com"],
["a", "30023:a695f6b60119d9521934a691347d9f78e8770b56da16bb255ee286ddf9fda919:ipsum", "wss://relay.nostr.org"]
],
"pubkey": "...",
"id": "..."
}
Replies & Comments
Replies to kind 30023 MUST use NIP-22 kind 1111 comments.