[difícil/complex] permetre headers yaml en les entrades de discourse

discourse fa servir markdown it, i el markdown it core accepta el format de header. Però en aquell article expliquen com es poden afegir plugins

Per cert, aquí podeu jugar amb ell per saber què pot fer https://markdown-it.github.io/

En aquesta issue expliquen com ho han fet alguns Article preview, separator line and metadata · Issue #185 · markdown-it/markdown-it · GitHub

La idea seria bàsicament amagar i no mostrar aquest contingut en discourse

Com es un markdown yaml header?

A l’inici del document:

Forma 1:

---
variable1: 'valor1'
variable2: 'valor2'
vaaariable3: 'vaaalor3'
---

Forma 2:

---
variable1: 'valor1'
variable2: 'valor2'
vaaariable3: 'vaaalor3'
...

És preferible la forma 1 per ser més compatible amb altres serveis, perquè és la que suporta gitea/forcejo/forges git(?) prefereix les metadades entre --- perquè les veu millor. jekyll ho prefereix també

font: web: T: Pandoc - Pandoc User’s Guide, U: pandoc.org/MANUAL.html#extensi, retrieved 2024-01-22 13:45

> Just be sure that the YAML file begins with — and ends with — or …

Beneficis:

  • Degut a que s’amaga per a discourse, es pot fer servir per catalogar etiquetes internes no visibles per discourse, és a dir, es pot fer que cada document sigui com un “node” que pot tenir infinits key-value. A mi això em flipa molt, i ho faig servir en emacs, es diuen properties, suposaria per a mi tenir una cosa similar, però per desenvolupament comunitari. Fins i tot es podria pensar en algunes entrades de agora.exo.cat com un key value store comunitari, haha.
  • En cas d’exportació amb pandoc markdown, a vegades és útil afegir coses de l’estil a través d’aquesta via. Està explicat aquí: Pandoc - Pandoc User’s Guide

Eines que ja són interoperables amb aquesta forma de funcionar:

1 'M'agrada'

un exemple molt més específic

plantilla de projecte https://github.com/freifunk/projects/blob/main/_projects/_template.md

aquestes variables serveixen per mapejar el projecte i tenir aquest tipus de visualització: https://projects.freifunk.net

llavors, això està pensat per fer-se des d’un sistema de repositori git, però podria ser, per exemple, una categoria de projectes de discourse; que llavors tindria una UX molt més fàcil, i la part de debat més ben integrada que en git (en git està molt bé, però perdem molta gent pel camí)