Ancore non funzionanti tra i post all'interno dell'argomento

Stiamo cercando di impostare un argomento come una sorta di FAQ/guida all’uso del forum e, nel farlo, vorremmo avere una serie di post più lunghi, ognuno con una serie di intestazioni, e compilare un indice nel primo post dell’argomento in modo che gli utenti possano spostarsi facilmente.

Questo si sta rivelando inaspettatamente difficile da far funzionare come previsto e scavare in Meta non sta aiutando molto, sfortunatamente. Siamo a conoscenza del plugin (auto-ToC o come si chiama), ma lo vogliamo solo per un singolo argomento e quindi non vogliamo davvero occuparcene.

Abbiamo provato a utilizzare le icone di collegamento accanto a un’intestazione markdown generata automaticamente tramite i simboli #, ma non sta funzionando: non siamo sicuri se sia solo a causa dei colori che stiamo usando per le intestazioni, o qualcos’altro, ma in ogni caso questo funziona per alcune ma non per tutte le nostre intestazioni.

Anche il tentativo di utilizzare tag HTML con ID manuali per le nostre intestazioni non ha avuto successo: questi non saltavano affatto ai collegamenti. Abbiamo visto da qualche parte su Meta che le informazioni sull’ID venivano rimosse da Discourse e abbiamo smesso di perseguire questo approccio.

Abbiamo quindi visto un’idea intelligente che utilizzava collegamenti vuoti posizionati appena sopra le nostre intestazioni a cui si poteva semplicemente saltare, e sebbene all’inizio sembrasse funzionare, dopo alcuni post si smette anche di saltare al punto corretto nel post collegato.

Qualcuno sa perché le intestazioni sembrano così rotte e come possiamo farle funzionare su più post all’interno di un singolo argomento? Sto classificando questo come un bug, perché il comportamento sembra incredibilmente indesiderabile, ma sarei disposto a fare qualche sforzo da parte nostra per farlo funzionare se qualcuno lo sapesse.

Affinché gli ancoraggi funzionino in argomenti più lunghi, dovresti usare l’indirizzo completo del post con l’intestazione aggiunta per compensare il fatto che il post di destinazione non viene caricato sullo schermo.

Se l’ancoraggio fosse <a> name="anchor"></a> nell’OP di questo argomento, l’uso di questo link funzionerebbe anche nel post, ad esempio, 456

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

Questo ti aiuta?

1 Mi Piace

Era quello che stavamo già facendo, purtroppo

I nostri link nell’indice erano di questo formato:

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

e i nostri link effettivi nei post erano di questo formato

<a></a>

Ha funzionato per i primi post, si è interrotto intorno all’ottavo o nono post.

1 Mi Piace

Uso questo metodo su un altro sito e funziona molto bene per me. Hai un link che potresti condividere in modo che possa vederlo in azione?

No, sfortunatamente, perché il post è ancora limitato solo al personale.

Forse potrei provare a replicare la nostra configurazione sul sito web del creatore di temi e vedere se funziona lì?

Aggiornamento: il creatore di temi non ha il Discourse BBCode, quindi non sono convinto che sarà perfettamente 1:1. Sfortunato.

Tendiamo a usare try.discourse.org per questi, ma potrebbe essere più sforzo del necessario in questo caso?

L’unica cosa che sembra diversa da quelle che uso è il doppio trattino, ma sembra una congettura azzardata. Forse è la quantità di collegamenti nell’intestazione? Non sono sicuro.

1 Mi Piace

È quello che sospetto, ed è per questo che è classificato sotto Bug e non Support.

Ho dimenticato try, potrei spostarmi

1 Mi Piace

Presi\n\nRiproducibile su Try\n\nhttps://try.discourse.org/t/testing-heading-links-i-guess/1405?u=orangeandblack5\n\nI primi set di collegamenti di ancoraggio funzionano\n\nGli ancoraggi per gli ultimi tre post non funzionano\n\nMi dispiace doverlo fare nel fine settimana\n\nQuando vengono cancellati i contenuti su Try, in generale? Preferirei non dover ricostruire di nuovo l’intero set di collegamenti di ancoraggio lol

Funzionano per me la prima volta e al refresh della pagina, ma non quando uso la timeline di navigazione per tornare all’OP.

Ho link ‘torna indietro’ nei miei post simili con l’indirizzo completo del post dell’OP/intestazioni TOC inclusi, che eseguirebbero un refresh della pagina. Ti funzionerebbe?

1 Mi Piace

Certo, potremmo certamente usarlo come soluzione temporanea

Perché hai ragione, funziona davvero

Tuttavia, nessuno naviga normalmente in quel modo, quindi penso decisamente che questo sia un bug piuttosto chiaro e idealmente dovrebbe essere corretto quando il team avrà tempo di occuparsene


In realtà, probabilmente ci limiteremo a collegare solo i post di primo livello e aggiungeremo gli ancoraggi di sezione specifici quando sarà stato corretto

Sembra meglio di una funzionalità non funzionante per i nostri utenti


C’è un modo per salvare questo post su Try per evitare che venga eliminato in modo che qualcuno che ne sa più di Discourse di me possa indagare per capire perché sta succedendo?

O sarebbe meglio ricrearlo qui?

Potresti aprire quei post in modalità di modifica o prendere la versione raw e copiarli in un argomento sul tuo sito come esempio più permanente a cui collegarti (o salvarli e ricrearli in un secondo momento).

eh, lo farò qui

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

in questo modo non c’è alcuna possibilità che qualcosa sul nostro sito interferisca con la capacità del team di risolvere il problema