`e` and `p` tags can be used to define note threads, replies, mentions and quotes.
Markup language such as markdown and HTML SHOULD not be used.
## The `p` tag
`["p", <pubkey>, <relay-url>]`
Used in a text event contains a list of pubkeys used to record who is involved in a reply thread.
When replying to a text event E the reply event's `p` tags should contain all of E's `p` tags as well as the `"pubkey"` of the event being replied to.
Example: Given a text event authored by `a1` with `p` tags [`p1`, `p2`, `p3`] then the `p` tags of the reply should be [`a1`, `p1`, `p2`, `p3`]
in no particular order.
## Marked `e` tags
The `e`-tag is defined as follows:
`["e", <event-id>, <relay-url>, <marker>]`
Where:
*`<event-id>` is the id of the event being referenced.
*`<relay-url>` is the URL of a recommended relay associated with the reference. Clients SHOULD add a valid `<relay-URL>` field, but may instead leave it as `""`.
*`<marker>` is optional and if present is one of `"reply"`, `"root"`, or `"mention"`.
Those marked with `"reply"` denote the id of the reply event being responded to. Those marked with `"root"` denote the root id of the reply thread being responded to. For top level replies (those replying directly to the root event), only the `"root"` marker should be used. Those marked with `"mention"` denote a quoted or reposted event id.
A direct reply to the root of a thread should have a single marked `e` tag of type "root".
> This scheme is preferred because it allows events to mention others without confusing them with `<reply-id>` or `<root-id>`.
>This scheme is deprecated because it creates ambiguities that are difficult, or impossible to resolve when an event references another but is not a reply.