Nostr WoT
NostrNIP

NIP-54 muda os artigos wiki de Asciidoc para Djot

Os artigos wiki do NIP-54 não usam mais Asciidoc. Um pull request mesclado muda a linguagem de marcação da especificação para Djot e reescreve a sintaxe de wikilinks para se adequar.

Nostr WoT Newsroom

Matéria4 min read

Elaborado pela Redação da Nostr WoT a partir das fontes primárias citadas, e publicado automaticamente sem revisão humana individual.

NIP-54 muda os artigos wiki de Asciidoc para Djot

O NIP-54 define artigos wiki editáveis de forma colaborativa no Nostr: eventos endereçáveis que um cliente pode renderizar como páginas no estilo enciclopédia, com wikilinks entre artigos. Em 2026-03-17, o PR #2242, de autoria de VincenzoImp, foi mesclado à especificação e mudou a linguagem de marcação usada no campo content de um artigo wiki, de Asciidoc para Djot.

Por que uma mudança de marcação não é cosmética

O NIP-54 não envolve content em um formato contêiner com seu próprio campo de tipo. Ele apenas diz: isto é texto em uma linguagem de marcação específica, e espera-se que os clientes o interpretem e renderizem dessa forma. Isso significa que todo cliente que renderiza artigos NIP-54, e toda ferramenta ou relay que os gera, precisa concordar sobre o que essa marcação significa. Trocar a linguagem de marcação muda o que é uma "renderização correta" para todo o kind de evento, não apenas para um artigo. É o tipo de mudança que importa para quem implementa, mesmo sem nenhum número de kind ou estrutura de tags ter mudado.

Como a sintaxe funciona agora

A especificação anterior descrevia conteúdo em Asciidoc com uma extensão especial de wikilinks usando colchetes duplos: [[Target Page]] linkava para o artigo em target-page, e [[target page|see this]] permitia definir um texto de exibição personalizado.

O Djot não tem uma sintaxe de wikilinks com par de colchetes própria, então o NIP-54 reaproveita os links de referência nativos do Djot. Um link como [cryptocurrency][] normalmente se resolve contra uma referência definida em outro ponto do documento; o NIP-54 agora determina que, quando essa referência não existe, o cliente deve tratá-lo como um wikilink e resolvê-lo para o artigo wiki cuja tag d corresponda ao texto do link normalizado. Assim, [cryptocurrency][] se torna um wikilink para o artigo marcado com cryptocurrency, enquanto [Satoshi Nakamoto][] continua sendo um link normal se houver uma referência definida no documento para "Satoshi Nakamoto" (por exemplo, apontando para um npub). O PR também adiciona exemplos trabalhados para escritas não latinas, mostrando como a mesma sintaxe de referência normaliza um alvo de link em japonês ou cirílico.

Links nostr: definidos no NIP-21 não são afetados: continuam funcionando para linkar perfis ou eventos específicos, embora a especificação continue recomendando wikilinks em vez de fixar um link a uma versão específica de um artigo.

O que mais o PR completa

Duas seções do NIP-54 tinham ficado como placeholders, marcadas [INSERT EVENT EXAMPLE], desde a primeira redação do NIP. O PR #2242 preenche as duas com JSON real:

  • O evento kind:818 de Merge Request, usado para pedir a outra chave pública que mescle um artigo bifurcado de volta à fonte, agora tem um exemplo completo marcando o artigo de destino com uma tag a, a versão base com uma tag e, e a versão a ser mesclada com uma tag e que carrega o marcador source.
  • O evento kind:30819 de Redirect, usado para fazer um título de artigo apontar para outro (o exemplo do PR é "BTC" redirecionando para "Bitcoin"), recebe o mesmo tratamento: uma tag d com o título de origem e uma tag a apontando para o artigo de destino.

Por que Djot

O PR adiciona uma nova seção "Why Djot?" à especificação, substituindo a antiga justificativa "Why Asciidoc?". Ela explica a escolha em termos concretos: o Djot foi criado por John MacFarlane, autor do Pandoc e coautor do CommonMark, e diferente do Markdown, que se divide em muitos dialetos incompatíveis, ou do Asciidoc, cuja especificação está presa à sua implementação em Ruby, o Djot tem uma especificação clara e independente. Ele já conta com implementações nativas em JavaScript, Lua, Rust e Go, sem precisar de uma etapa de transpilação, e suporta os recursos que um formato de wiki enciclopédico precisa: sobrescrito, subscrito, notas de rodapé, tabelas, listas de definição e matemática. Sua sintaxe se mantém próxima ao Markdown básico, e seu parser foi projetado para rodar em tempo linear.

Contexto

Segundo o corpo do PR, o #2242 dá continuidade ao trabalho iniciado no #2082, a proposta que primeiro levantou a ideia de abandonar o Asciidoc, e se apoia no #2177, uma mudança mesclada anteriormente que estabeleceu as regras de normalização da tag d para escritas não latinas, das quais os novos exemplos de wikilinks dependem diretamente.

A mudança tocou um único arquivo, 54.md, com 63 linhas adicionadas e 37 removidas.

Fontes

Toda afirmação nesta matéria tem um link para uma fonte primária.

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

Stay Updated

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

No spam, ever. Unsubscribe anytime.