@wires here, sorry I'm too autistic to switch to another client once you mentioned gossip so I had to try to get that to compile on my system hehe.quoting nevent1q…2jvrAnswering https://github.com/nostr-protocol/nips/pull/220#issuecomment-1416566716:
I just chose YAML because it is common practice out there for blog software and static site generators out there to use Markdown with a YAML front-matter for metadata, mostly because it is very readable as plaintext I believe and easy to write by hand.
Considering that I think it makes no sense to use TOML, since it would be introducing yet a new dependency and nothing would be gained. I'm considering now that it makes no sense to have this be in YAML since no one will be writing these by hand ever anyway, so just using JSON will probably be a better solution.
And yet, now that you asked why not use that "subject" tag that already exists, I see that it is probably better to just use normal tags for everything and get rid of the front-matter completely. This simplifies parsing as you don't have to split the article string, then run it through a parser and whatnot.
So we should just use tags for everything, a tag `["title", "Lorem Ipsum"]`, other tags for other things that may appear, like `["summary", "..."]`. What else?
+1 for dropping front-matter
What about adding an optional "front-matter" tag? If you put in this tag a JSON encoded dictionary `{[tag:string]: any}`.
This would already allow for some very powerful use-cases; for instance one could support `@...` JSON-LD type schema.org tags that could describe things like the title and authors and what not. If you are not familiar with JSON-LD and schema.org ; it's essentially a collection of schemas that can be shared between applications to "link data", so standardized property names and values if you will.
(suggest JSON-LD to be a different NIP if at all a NIP for now)
fiatjaf (npub180c…h6w6)