Nostr WoT
NostrNIP

NIP-54 pasa de Asciidoc a Djot en los artículos wiki

Los artículos wiki de NIP-54 ya no usan Asciidoc. Un pull request fusionado cambia el lenguaje de marcado de la especificación a Djot y reescribe la sintaxis de wikilinks para adaptarse.

Nostr WoT Newsroom

Artículo4 min read

Elaborado por la Redacción de Nostr WoT a partir de las fuentes primarias citadas, y publicado automáticamente sin revisión humana individual.

NIP-54 pasa de Asciidoc a Djot en los artículos wiki

NIP-54 define artículos wiki editables colaborativamente en Nostr: eventos direccionables que un cliente puede renderizar como páginas al estilo enciclopedia, con wikilinks entre artículos. El 2026-03-17, el PR #2242, a cargo de VincenzoImp, se fusionó en la especificación y cambió el lenguaje de marcado en el que se escribe el campo content de un artículo wiki, de Asciidoc a Djot.

Por qué un cambio de marcado no es cosmético

NIP-54 no envuelve content en un formato contenedor con su propio campo de tipo. Simplemente dice: esto es texto en un lenguaje de marcado particular, y se espera que los clientes lo interpreten y rendericen de esa forma. Eso significa que todo cliente que renderiza artículos NIP-54, y toda herramienta o relay que los genera, tiene que estar de acuerdo en qué significa ese marcado. Cambiar el lenguaje de marcado cambia qué es un "renderizado correcto" para todo el tipo de evento, no solo para un artículo. Es el tipo de cambio que le importa a quien implementa, aunque no se haya movido ningún número de kind ni estructura de etiquetas.

Cómo se ve la sintaxis ahora

La especificación anterior describía contenido en Asciidoc con una extensión especial de wikilinks usando corchetes dobles: [[Target Page]] enlazaba al artículo en target-page, y [[target page|see this]] permitía definir un texto de visualización personalizado.

Djot no tiene una sintaxis de wikilinks con pares de corchetes propia, así que NIP-54 reutiliza en cambio los enlaces de referencia nativos de Djot. Un enlace como [cryptocurrency][] normalmente se resuelve contra una referencia definida en otra parte del documento; NIP-54 ahora indica que cuando no existe esa referencia, el cliente debe tratarlo como un wikilink y resolverlo hacia el artículo wiki cuya etiqueta d coincida con el texto del enlace normalizado. Así, [cryptocurrency][] se convierte en un wikilink al artículo etiquetado cryptocurrency, mientras que [Satoshi Nakamoto][] sigue siendo un enlace normal si en el documento hay una referencia definida para "Satoshi Nakamoto" (por ejemplo, apuntando a un npub). El PR también agrega ejemplos trabajados para escrituras no latinas, mostrando cómo la misma sintaxis de referencia normaliza un destino de enlace en japonés o cirílico.

Los enlaces nostr: definidos en NIP-21 no se ven afectados: siguen funcionando para enlazar a perfiles o eventos específicos, aunque la especificación sigue recomendando los wikilinks antes que fijar un enlace a una versión concreta de un artículo.

Qué más completa el PR

Dos secciones de NIP-54 habían quedado como placeholders, marcadas [INSERT EVENT EXAMPLE], desde que se redactó el NIP por primera vez. El PR #2242 completa ambas con JSON real:

  • El evento kind:818 de Merge Request, usado para pedirle a otra clave pública que fusione un artículo bifurcado de vuelta al original, ahora tiene un ejemplo completo que etiqueta el artículo destino con una etiqueta a, la versión base con una etiqueta e, y la versión a fusionar con una etiqueta e que lleva el marcador source.
  • El evento kind:30819 de Redirect, usado para hacer que un título de artículo apunte a otro (el ejemplo del PR es "BTC" redirigiendo a "Bitcoin"), recibe el mismo tratamiento: una etiqueta d con el título de origen y una etiqueta a que apunta al artículo destino.

Por qué Djot

El PR agrega una nueva sección "Why Djot?" a la especificación, en reemplazo de la anterior justificación "Why Asciidoc?". Explica la elección en términos concretos: Djot fue creado por John MacFarlane, autor de Pandoc y coautor de CommonMark, y a diferencia de Markdown, que se divide en muchos dialectos incompatibles, o de Asciidoc, cuya especificación está atada a su implementación en Ruby, Djot tiene una especificación clara e independiente. Ya cuenta con implementaciones nativas en JavaScript, Lua, Rust y Go, sin necesidad de un paso de transpilación, y soporta las funciones que necesita un formato de wiki enciclopédico: superíndice, subíndice, notas al pie, tablas, listas de definición y matemática. Su sintaxis se mantiene cercana al Markdown básico, y su parser está diseñado para correr en tiempo lineal.

Contexto

Según el cuerpo del PR, #2242 continúa el trabajo iniciado en #2082, la propuesta que primero planteó abandonar Asciidoc, y se apoya en #2177, un cambio fusionado anteriormente que estableció las reglas de normalización de la etiqueta d para escrituras no latinas, de las que dependen directamente los nuevos ejemplos de wikilinks.

El cambio tocó un solo archivo, 54.md, con 63 líneas agregadas y 37 eliminadas.

Fuentes

Toda afirmación de este artículo enlaza a una fuente primaria.

  1. NIP-54: Switch from Asciidoc to Djot — nostr-protocol/nips (17 de marzo de 2026)

Stay Updated

Get the latest on new features, trust assertions, and services integration as they ship.

No spam, ever. Unsubscribe anytime.