Compare commits

...

12 Commits

Author SHA1 Message Date
dluvian 7a8f6d0d16
Merge fac6e491a6 into 7dec812f99 2025-08-12 22:27:17 +00:00
Awiteb 7dec812f99
nip22: fix example type for external URL (#2011) 2025-08-11 17:26:05 -04:00
Yoji Shidara 739f3c5263
NIP-24: Fix heading levels (#2009) 2025-08-11 19:37:53 +09:00
Yoji Shidara 8830525250
NIP-21: Fix markup issue by closing backtick (#2008) 2025-08-11 19:35:36 +09:00
dluvian fac6e491a6 Go back to original format
Can't beat the simplicity of having everything in a single event. I also added a Column reserve event for offloading large columns and to prevent event size bloat.
2025-06-15 18:23:23 +08:00
dluvian f43fe885e8 Remove column purpose
Should be different event kinds
2025-04-04 12:51:57 +02:00
dluvian 3dceff4ea8 Add column d-tag 2025-02-23 18:20:11 -05:00
dluvian dbf88d8ff1 Fix purpose 2025-02-22 21:51:50 -05:00
dluvian be8a671d98 Add column purpose 2025-02-22 19:02:02 -05:00
dluvian eb604714fd Add column event 2025-02-22 18:48:38 -05:00
dluvian db999e40f2 Fix spelling 2025-02-21 20:55:17 -05:00
dluvian ddf75980ef Add simple Kanban Boards 2025-02-21 20:49:27 -05:00
4 changed files with 83 additions and 13 deletions

2
21.md
View File

@ -21,7 +21,7 @@ The identifiers that come after are expected to be the same as those defined in
### Linking HTML pages to Nostr entities
`<link>` tags with `rel="alternate"` can be used to associate webpages to Nostr events, in cases where the same content is served via the two mediums (for example, a web server that exposes Markdown articles both as HTML pages and as `kind:30023' events served under itself as a relay or through some other relay). For example:
`<link>` tags with `rel="alternate"` can be used to associate webpages to Nostr events, in cases where the same content is served via the two mediums (for example, a web server that exposes Markdown articles both as HTML pages and as `kind:30023` events served under itself as a relay or through some other relay). For example:
```
<head>

8
22.md
View File

@ -143,13 +143,13 @@ A comment on a website's url looks like this:
"tags": [
// referencing the root url
["I", "https://abc.com/articles/1"],
// the root "kind": for an url, the kind is its domain
["K", "https://abc.com"],
// the root "kind": for an url
["K", "web"],
// the parent reference (same as root for top-level comments)
["i", "https://abc.com/articles/1"],
// the parent "kind": for an url, the kind is its domain
["k", "https://abc.com"]
// the parent "kind": for an url
["k", "web"]
]
// other fields
}

13
24.md
View File

@ -8,8 +8,7 @@ Extra metadata fields and tags
This NIP keeps track of extra optional fields that can added to events which are not defined anywhere else but have become _de facto_ standards and other minor implementation possibilities that do not deserve their own NIP and do not have a place in other NIPs.
kind 0
======
### kind 0
These are extra fields not specified in NIP-01 that may be present in the stringified JSON of metadata events:
@ -19,24 +18,22 @@ These are extra fields not specified in NIP-01 that may be present in the string
- `bot`: a boolean to clarify that the content is entirely or partially the result of automation, such as with chatbots or newsfeeds.
- `birthday`: an object representing the author's birth date. The format is { "year": number, "month": number, "day": number }. Each field MAY be omitted.
### Deprecated fields
#### Deprecated fields
These are fields that should be ignored or removed when found in the wild:
- `displayName`: use `display_name` instead.
- `username`: use `name` instead.
kind 3
======
### kind 3
These are extra fields not specified in NIP-02 that may be present in the stringified JSON of follow events:
### Deprecated fields
#### Deprecated fields
- `{<relay-url>: {"read": <true|false>, "write": <true|false>}, ...}`: an object of relays used by a user to read/write. [NIP-65](65.md) should be used instead.
tags
====
### tags
These tags may be present in multiple event kinds. Whenever a different meaning is not specified by some more specific NIP, they have the following meanings:

73
CB.md Normal file
View File

@ -0,0 +1,73 @@
NIP-CB
======
Kanban Boards
-------
`draft` `optional`
A Kanban Board is a replaceable `kind 37733` event, which includes a list of column names and a mapping to their associated content.
Columns can contain any nostr event.
Clients are expected to only support a subset of event kinds when rendering Kanban cards.
When a column holds a large number of cards, these cards SHOULD be placed into a `kind 37734 Column reserve` event to prevent the `kind 37733` event from getting too large.
```json
{
"kind": 37733,
"content": "",
"tags": [
["d", "<board-identifier>"],
["title", "Board Title"],
["description", "Board Description"],
// Use an `E` or `A` tag to associate the board with another event.
// For example a GitRepositoryAnnouncement:
["A", "30617:<pubkey>:<repo-identifier>"],
// Columns arranged in the intended order.
// Column IDs should be lowercase and alphanumeric.
["col", "col-id-1", "To Do"],
["col", "col-id-2", "In Progress"],
["col", "col-id-2", "Done"],
// Column items `["e/a", "<event-id/coordinate>", "<col-id>", "<optional-relay-hint>"]` arranged in the intended order
["e", "<event-id>", "col-id-1", "wss://relay.lol"],
["a", "<event-coordinate>", "col-id-1", ""],
["e", "<event-id>", "col-id-2"],
["e", "<event-id>", "col-id-3"],
// Optional column reserve for holding large amount of cards
// `["r", "37734:<pubkey>:<d-identifier", "<col-id>", "<optional-relay-hint>"]`
["r", "37734:<pubkey>:<d-identifier", "col-id-3", "wss://relay.lol"],
]
}
```
## Column reserve
A column reserve is a replaceable `kind 37734` event that contains a list of Kanban cards, used to offload and reduce the size of the original `kind 37733` event. Its usage is optional but recommended for columns with a large amount of cards.
```json
{
"kind": 37734,
"content": "",
"tags": [
["d", "<column-identifier>"],
// Tags arranged in the intended order.
["e", "b7804254d1ae143aeacb50b2504398a43e2f39abd87141036b7f1cc8aec4069e", "<relay-hint>"],
["a", "<kind>:<pubkey>:<d-identifier>", "<relay-hint>"],
["e", "71cfeb1171960e4ad6f65d7f87c5bf41be9ef4aaf4452fd2f6968c0b340f79d7", "<relay-hint>"],
]
}
```
## Possible extentions to add later
- Different column types
- Dedicated event kind for Kanban cards
- Multi-user support