Âncoras Não Funcionam em Posts Dentro do Tópico

Estamos tentando configurar um tópico como uma espécie de FAQ/guia de uso do fórum e, ao fazer isso, gostaríamos de ter uma série de posts mais longos, cada um com vários títulos, e compilar um índice no primeiro post do tópico para que os usuários possam navegar facilmente.

Isso está se mostrando enganosamente difícil de funcionar como pretendido e pesquisar no Meta não está ajudando muito, infelizmente. Estamos cientes do “pluginzinho” (auto-ToC ou o que quer que seja), mas queremos isso apenas para um único tópico e, portanto, não queremos lidar com isso.

Tentamos usar os ícones de link ao lado de um cabeçalho markdown gerado automaticamente através dos símbolos #, mas isso não está funcionando - não temos certeza se é apenas por causa das cores que estamos usando para os cabeçalhos, ou algo totalmente diferente, mas em qualquer caso, isso funciona para alguns, mas não para todos os nossos cabeçalhos.

Tentar usar tags HTML com IDs manuais para nossos cabeçalhos também não teve sucesso - isso simplesmente não estava pulando para os links. Vimos em algum lugar no Meta que as informações de ID estavam sendo removidas pelo Discourse e paramos de seguir essa abordagem.

Então, vimos uma ideia inteligente usando links vazios colocados logo acima de nossos cabeçalhos aos quais você poderia simplesmente pular, e embora isso tenha parecido funcionar inicialmente, depois de algumas postagens, também parou de pular para o local correto na postagem vinculada.

Alguém sabe por que os cabeçalhos parecem tão quebrados e como podemos fazê-los funcionar em vários posts dentro de um único tópico? Estou classificando isso como um bug, porque o comportamento parece incrivelmente indesejável, mas eu estaria disposto a pular por alguns obstáculos do nosso lado para fazer isso funcionar se alguém souber como.

Para que as âncoras funcionem em tópicos mais longos, você precisaria usar o endereço completo da postagem com o cabeçalho anexado para compensar o fato de a postagem de destino não ser carregada na tela.

Se a âncora fosse <a> name="anchor"></a> na OP deste tópico, usar este link funcionaria mesmo em uma postagem, por exemplo, 456

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

Isso ajuda?

1 curtida

Era isso que já estávamos fazendo, infelizmente

Nossos links no índice eram deste formato:

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

e nossos links reais nas postagens eram deste formato:

<a> name="header--header-name"></a>

Funcionou para as primeiras postagens, quebrou por volta da postagem 8 ou 9.

1 curtida

Eu uso este método em outro site e funciona muito bem para mim. Você tem um link que poderia compartilhar para que eu possa vê-lo em ação?

Não, infelizmente, porque a postagem ainda está restrita apenas para funcionários.

Talvez eu possa tentar replicar nossa configuração no site do criador de temas e ver se funciona lá?

Atualização: O criador de temas não tem Discourse BBCode, então não estou convencido de que será perfeitamente 1:1. Infeliz.

Nós tendemos a usar try.discourse.org para isso, mas pode ser mais esforço do que vale a pena neste caso?

A única coisa que parece diferente das que eu uso é o hífen duplo, mas isso parece improvável. Talvez seja a quantidade de links no cabeçalho? Não tenho certeza.

1 curtida

É o que eu suspeito, e é por isso que isso está classificado em Bug e não em Support.

Esqueci do try, talvez eu mude

1 curtida

Consegui\n\nReproduzível no Try\n\nhttps://try.discourse.org/t/testing-heading-links-i-guess/1405?u=orangeandblack5\n\nOs primeiros conjuntos de links de âncora funcionam\n\nAs âncoras para os últimos três posts não funcionam\n\nDesculpe por enviar isso no fim de semana\n\nQuando as coisas no try são limpas, em geral? Preferiria não ter que reconstruir todo esse conjunto de links de âncora novamente, lol

Eles funcionam para mim na primeira vez e em uma atualização de página, mas não funcionam quando uso a linha do tempo de navegação para retornar ao OP.

Tenho links ‘voltar’ em minhas postagens semelhantes com o endereço completo da postagem do OP/cabeçalhos do TOC, que realizariam uma atualização de página. Isso funcionaria para você?

1 curtida

Quer dizer, poderíamos certamente usá-lo como uma medida paliativa

Porque você está certo, isso realmente funciona

No entanto, ninguém navega assim normalmente, então eu definitivamente acho que este é um bug bem claro e idealmente deveria ser corrigido quando a equipe tiver tempo para isso


Na verdade, provavelmente apenas vincularemos às postagens de nível superior e adicionaremos as âncoras de seção específicas quando for corrigido

Parece melhor do que um recurso quebrado para nossos usuários


Existe alguma maneira de salvar esta postagem no Try para que ela não seja apagada, para que alguém que saiba mais sobre Discourse do que eu possa investigar para descobrir por que isso está acontecendo?

Ou seria melhor recriá-la aqui?

Você poderia abrir essas postagens no modo de edição ou pegar a versão raw e copiá-las para um tópico em seu site como um exemplo mais permanente para vincular (ou para salvá-las e recriá-las em uma nova tentativa em um momento posterior).

eh, eu farei isso aqui
https://meta.discourse.org/t/example-anchor-links-dont-work-unless-page-reloaded/240589?u=orangeandblack5
dessa forma não há chance de algo em nosso site atrapalhar a capacidade da equipe de corrigir o problema