Anual Paga anualmente y obtén 2 meses gratis en cualquier plan de pago. Ver planes
Iniciar sesión Empieza gratis

Citas que se comportan como citas

Una ejecución de la plantilla de investigación multifuente produjo un buen informe sobre instrumentos de inversión, y luego lo imprimió mal. Noventa y cinco marcadores con la forma ^1 estaban dentro de la prosa, y nueve…

Una ejecución de la plantilla de investigación multifuente produjo un buen informe sobre instrumentos de inversión, y luego lo imprimió mal. Noventa y cinco marcadores con la forma [^1] estaban dentro de la prosa, y nueve líneas con la forma [^1]: se amontonaban debajo. Tanto en la web como en el teléfono.

La causa es que las notas al pie no son parte de markdown. Son una extensión, y ninguno de los dos renderizadores de markdown que distribuimos — uno en la web, otro distinto en el móvil — la implementa. Le estábamos pidiendo al modelo exactamente esa forma, y luego renderizándola como texto literal.

Un solo reescritor, dos motores

En vez de enseñar la misma extensión a los dos renderizadores, los marcadores se reescriben antes de que ninguno de los dos los vea, en un enlace simple que ambos ya renderizan de forma idéntica. Las definiciones se extraen y se devuelven por separado, y lo que las seguía queda como la cola del documento. Los corchetes se quedan dentro del texto del enlace, así que citas apiladas se leen [1][2], no 12.

En la web, la cita se dibuja en superíndice, las definiciones se renderizan como una lista con anclas reales, hacer clic en una desplaza hasta ella y hace parpadear la fila, y el número en la lista salta de vuelta al primer lugar donde se citó. Pasar el cursor por encima muestra la definición sin moverse. En el teléfono, los mismos marcadores se dibujan en el color de acento y tocar uno desplaza el panel hasta la fila correspondiente. Los enlaces que no son citas siguen abriéndose en un navegador, como antes.

Las tarjetas de fuentes debajo de un informe nunca se vieron afectadas — vienen de otro lado y siempre estuvieron bien.

Y en la descarga

Un informe que descargas como .docx, .pdf o .md pasaba por otro conversor, que imprimía los marcadores crudos directamente en el documento. Una especificación de documento no tiene superíndice, así que una cita se imprime [3], y cada definición abre su propia línea comenzando con [3]. Las líneas de continuación con sangría se unen a su definición. Los números del archivo son los números de la pantalla.

El primer intento estaba mal de una forma para la que ya teníamos protección

La primera versión convertía los números de nota al pie en simples enlaces de fragmento — href="#fn-3". Bajo el <base href="/"> que necesita una aplicación de una sola página, un fragmento desnudo se resuelve contra la raíz del sitio, así que el enlace apunta a la página de inicio. El manejador de clic cancelaba la navegación, así que funcionaba — y habría seguido funcionando hasta que alguien tocara el manejador.

Una verificación que ya teníamos exactamente para este patrón se puso en rojo en la ejecución local antes del push. Los números ahora son botones; desplazan, mueven el foco, y respetan la preferencia de movimiento reducido del lector.

Compartir LinkedIn X Correo
Pruébalo con tu propio trabajoCada respuesta muestra lo que costó. Empieza con el plan gratuito. Empieza gratis
Recibe novedades del producto, no ruido Nuevos modelos, funciones y lo destacado del changelog: un correo breve cuando algo de verdad se lanza.
Al suscribirte, aceptas recibir correos de ToRun con novedades del producto. Puedes darte de baja en cualquier momento. Política de privacidad