Anclas no funcionan en publicaciones dentro del tema

Estamos intentando configurar un tema como una especie de guía de uso de preguntas frecuentes/foros y, al hacerlo, nos gustaría tener una serie de publicaciones largas, cada una con una serie de encabezados, y compilar una tabla de contenido en la primera publicación del tema para que los usuarios puedan navegar fácilmente.

Esto está resultando engañosamente difícil de hacer funcionar según lo previsto y, lamentablemente, investigar en Meta no está ayudando mucho. Somos conscientes del “plugin” (auto-ToC o como se llame), pero solo queremos esto para un tema singular y no queremos lidiar con eso.

Hemos intentado usar los iconos de enlace junto a un encabezado de markdown autogenerado a través de los símbolos #, pero eso no está funcionando; no estamos seguros de si esto se debe a los colores que estamos usando para los encabezados, o a algo completamente diferente, pero en cualquier caso, esto funciona para algunos de nuestros encabezados pero no para todos.

Intentar usar etiquetas HTML con IDs manuales para nuestros encabezados tampoco tuvo éxito; esto simplemente no saltaba a los enlaces. Vimos en algún lugar de Meta que la información del ID estaba siendo eliminada por Discourse y dejamos de seguir este enfoque.

Luego vimos una idea ingeniosa que utilizaba enlaces vacíos colocados justo encima de nuestros encabezados a los que se podía saltar, y aunque al principio pareció funcionar, después de unas cuantas publicaciones, también deja de saltar al lugar correcto en la publicación enlazada.

¿Alguien sabe por qué los encabezados parecen estar tan rotos y cómo podemos hacer que funcionen en varias publicaciones dentro de un solo tema? Estoy clasificando esto como un error, porque el comportamiento parece increíblemente indeseable, pero estaría dispuesto a dar algunos saltos para que esto funcione si alguien sabe cómo.

Para que los anclajes funcionen en temas más largos, necesitarías usar la dirección completa de la publicación con el encabezado agregado para compensar que la publicación de destino no se cargue en la pantalla.

Si el anclaje fuera <a></a> en el OP de este tema, usar este enlace funcionaría incluso en la publicación, por ejemplo, la 456.

https://meta.discourse.org/t/anchors-not-working-across-posts-within-topic/240512/1#anchor

¿Eso ayuda?

1 me gusta

Eso es lo que ya estábamos haciendo, desafortunadamente

Nuestros enlaces en la tabla de contenido tenían este formato:

https://www.site.com/t/topic-name/ABCD/E#header--header-name

y nuestros enlaces reales en las publicaciones tenían este formato:

<a></a>

Funcionó para las primeras publicaciones, se rompió alrededor de la publicación 8 o 9.

1 me gusta

Utilizo este método en otro sitio y me funciona muy bien. ¿Tienes algún enlace que puedas compartir para que pueda verlo en acción?

No, lamentablemente, porque la publicación todavía está restringida solo para el personal.

¿Quizás podría intentar replicar nuestra configuración en el sitio web del creador de temas y ver si funciona allí?

Actualización: El creador de temas no tiene Discourse BBCode, así que no estoy convencido de que sea perfectamente 1:1. Desafortunado.

Solems usar try.discourse.org para esto, pero ¿quizás sea más esfuerzo del que vale la pena en este caso?
Lo único que se ve diferente a los que uso es el doble guion, pero eso parece poco probable. ¿Quizás sea la cantidad de enlaces en la cabecera? No estoy seguro.

1 me gusta

Eso es lo que sospecho, y por eso esto está clasificado como Bug y no como Support.

Me olvidé de try, quizás me cambie.

1 me gusta

Conseguido

Reproducible en Try

https://try.discourse.org/t/testing-heading-links-i-guess/1405?u=orangeandblack5

Los primeros conjuntos de enlaces de anclaje funcionan

Los anclajes de las últimas tres publicaciones no funcionan

Lamento tener que sacar esto un fin de semana

¿Cuándo se borran las cosas en Try, en general? Preferiría no tener que reconstruir todo ese conjunto de enlaces de anclaje de nuevo, jajaja.

Funcionan para mí la primera vez y al actualizar la página, pero no cuando uso la línea de tiempo de navegación para volver al OP.

Tengo enlaces de ‘volver’ en mis publicaciones similares con la dirección completa de la publicación del OP/encabezados de TOC incluidos, lo que realizaría una actualización de la página. ¿Eso te funcionaría?

1 me gusta

Quiero decir, ciertamente podríamos usar eso como una solución provisional

Porque tienes razón, eso funciona

Sin embargo, nadie navega así normalmente, así que definitivamente creo que este es un error bastante claro y, idealmente, debería corregirse cuando el equipo tenga tiempo para hacerlo


En realidad, probablemente solo enlazaremos a las publicaciones de nivel superior y agregaremos las anclas de sección específicas cuando se haya corregido

Parece mejor que una función rota para nuestros usuarios


¿Hay alguna manera de guardar esta publicación en Try para que no se borre, de modo que alguien que sepa más sobre Discourse que yo pueda investigar para averiguar por qué está sucediendo esto?

¿O sería mejor recrearla aquí?

Podrías abrir esas publicaciones en modo de edición o tomar la versión raw y copiarlas a un tema en tu sitio como un ejemplo más permanente al que enlazar (o guardarlas y recrearlas en un intento posterior).

eh lo haré aquí

https://meta.discourse.org/t/example-anchor-links-dont-work-unless-page-reloaded/240589?u=orangeandblack5

de esta manera no hay posibilidad de que algo en nuestro sitio interfiera con la capacidad del equipo para solucionar el problema.