Anual Pague anualmente e ganhe 2 meses grátis em qualquer plano pago. Ver planos
Entrar Comece grátis

Citações que se comportam como citações

Uma execução do modelo de pesquisa multi-fonte produziu um bom relatório sobre instrumentos de investimento, e depois o imprimiu mal. Noventa e cinco marcadores no formato ^1 estavam dentro do texto corrido, e nove linha…

Uma execução do modelo de pesquisa multi-fonte produziu um bom relatório sobre instrumentos de investimento, e depois o imprimiu mal. Noventa e cinco marcadores no formato [^1] estavam dentro do texto corrido, e nove linhas no formato [^1]: se empilhavam embaixo. Tanto na web quanto no celular.

A causa é que notas de rodapé não fazem parte do markdown. É uma extensão, e nenhum dos dois motores de markdown que distribuímos — um na web, outro no celular — a implementa. Estávamos pedindo ao modelo exatamente esse formato, e depois exibindo como texto literal.

Um só reescritor, dois motores

Em vez de ensinar a mesma extensão para os dois renderizadores, os marcadores são reescritos antes de qualquer um dos dois vê-los, num link simples que os dois já exibem de forma idêntica. As definições são extraídas e devolvidas separadamente, e o que vinha depois delas permanece como o final do documento. Os colchetes ficam dentro do texto do link, então citações empilhadas se leem [1][2], não 12.

Na web, a citação é desenhada como sobrescrito, as definições são exibidas como uma lista com âncoras reais, clicar em uma rola até ela e pisca a linha, e o número na lista pula de volta para o primeiro lugar em que foi citada. Passar o mouse por cima mostra a definição sem mudar de lugar. No celular, os mesmos marcadores são desenhados na cor de destaque, e tocar em um rola o painel até a linha correspondente. Links que não são citações continuam abrindo num navegador, como antes.

Os cards de fontes abaixo de um relatório nunca foram afetados — eles vêm de outro lugar e sempre estiveram certos.

E no download

Um relatório que você baixa como .docx, .pdf ou .md passava por outro conversor, que imprimia os marcadores crus direto no documento. Uma especificação de documento não tem sobrescrito, então uma citação é impressa como [3], e cada definição abre sua própria linha começando com [3]. Linhas de continuação com recuo se juntam à sua definição. Os números no arquivo são os números da tela.

A primeira tentativa estava errada de um jeito para o qual já tínhamos proteção

A primeira versão transformava os números de nota de rodapé em simples links de fragmento — href="#fn-3". Sob o <base href="/"> que uma aplicação de página única precisa, um fragmento nu se resolve em relação à raiz do site, então o link aponta para a página inicial. O manipulador de clique cancelava a navegação, então funcionava — e continuaria funcionando até alguém mexer no manipulador.

Uma verificação que já tínhamos exatamente para esse padrão ficou vermelha na execução local antes do push. Os números agora são botões; eles rolam, movem o foco, e respeitam a preferência de movimento reduzido do leitor.

Compartilhar LinkedIn X E-mail
Experimente no seu próprio trabalhoCada resposta mostra quanto custou. Comece no plano gratuito. Comece grátis
Receba novidades do produto, não ruído Novos modelos, funcionalidades e destaques do changelog — um email curto quando algo é mesmo lançado.
Ao se inscrever, você concorda em receber e-mails da ToRun com novidades do produto. Você pode cancelar a inscrição a qualquer momento. Política de Privacidade