Nostr MarkDown
Shared content format for Nostr events that use Markdown. Extends standard Markdown with three Nostr-specific features: nostr: URI links, custom emoji shortcodes, and wikilinks — while keeping the base syntax compatible with any standard Markdown renderer.
Nostr URIs
In inline text or in Markdown links, nostr: URIs refer to Nostr entities. Resolve and display per Nostr URI.
| Scheme | Refers to |
|---|---|
nostr:npub1... |
Profile (pubkey) |
nostr:nprofile1... |
Profile (pubkey + relays) |
nostr:note1... / nostr:nevent1... |
Event |
nostr:naddr1... |
Addressable event (kind + pubkey + d) |
Example: See nostr:npub1... for details or [Author](nostr:npub1...).
Custom Emoji
:shortcode: is interpreted as custom emoji when the client has a mapping. If no mapping exists, display the shortcode as-is or leave unmodified.
Example: :sats: or :nostr:.
Wikilinks
[target][] and [label][target] link to addressable content by a normalized identifier. The target is normalized: lowercase, non-letters replaced by -. The client resolves [target][] by querying for events whose d tag equals the normalized target.
-
[Page Name][]→ link topage-name, display “Page Name” -
[click here][page name]→ link topage-name, display “click here”
When a spec uses wikilinks it MUST define which event kinds and d semantics apply (e.g. Wiki). In this repo, spec pages use d tags with a nostr- prefix (e.g. nostr-markdown, nostr-wiki); link to them as [Nostr Markdown][nostr-markdown], [Wiki][nostr-wiki], etc.
Base Syntax
Clients MUST support the following. All syntax is standard Markdown.
| Feature | Syntax |
|---|---|
| Headings | # H1, ## H2, ### H3, … (up to 6 levels) |
| Bold | **text** or __text__ |
| Italic | *text* or _text_ |
| Unordered list | - item or * item |
| Ordered list | 1. item, 2. item, … |
| Link | [label](url) — url may be nostr:... |
| Image |  |
| Inline code | `code` |
| Fenced code block | Opening ``` with optional language, code lines, closing ``` |
| Blockquote | > quoted line (nest with multiple >) |
| Table | Header row + \|---|---| separator + body rows |
Other features (e.g. footnotes, strikethrough) are optional.
See Also
Comments
Public conversation about this article.
No comments yet.
Article metadata
About this entry
Event Id
Raw event
Other authors
No one else has published this topic yet.
