diff --git a/24.md b/24.md index d65d9ce..0944551 100644 --- a/24.md +++ b/24.md @@ -17,7 +17,32 @@ These are extra fields not specified in NIP-01 that may be present in the string - `website`: a web URL related in any way to the event author. - `banner`: an URL to a wide (~1024x768) picture to be optionally displayed in the background of a profile screen. - `bot`: a boolean to clarify that the content is entirely or partially the result of automation, such as with chatbots or newsfeeds. - - `pronouns`: a string representing the preferred way to refer to this person. + +### User defined custom fields + +A `fields` attribute may also be added to profile metadata to represent user-defined fields. It is an array name-value tuples, eg: + +```json +[["", ""], ...] +``` + +In the context of a full metadata object: + +```json +{ + "name": "Alex", + "avatar": "https://...", + "fields": [ + ["Pronouns", "ye/haw"], + ["Lifestyle", "vegan"], + ["Color", "green"] + ] +} +``` + +While protocol-level fields like `lud16` and `avatar` can influence the behavior of a user's account, custom fields are used for display purposes only. Clients should display custom fields in a confined area of the user's profile, and not make assumptions about their meaning. + +Custom fields should be displayed in the order they are defined by the user, and entries may be duplicated. The name and value can be any string, although clients may truncate or ellipsize long values, and may limit the total number of fields displayed. ### Deprecated fields