Anker funktionieren nicht über Beiträge innerhalb eines Themas

Wir versuchen, ein Thema als eine Art FAQ/Forum-Nutzungsanleitung einzurichten, und dabei möchten wir eine Reihe von längeren Beiträgen haben, jeder mit einer Reihe von Überschriften, und eine Inhaltsübersicht im ersten Beitrag des Themas zusammenstellen, damit die Benutzer leicht hin- und herspringen können.

Dies erweist sich als trügerisch schwierig, wie beabsichtigt zu funktionieren, und das Durchsuchen von Meta hilft leider nicht wirklich. Wir sind uns des Plugin-Dings (Auto-ToC oder wie auch immer es heißt) bewusst, aber wir wollen das nur für ein einziges Thema und wollen uns damit nicht wirklich auseinandersetzen.

Wir haben versucht, die Link-Symbole neben einer automatisch generierten Markdown-Überschrift über die # Symbole zu verwenden, aber das funktioniert nicht – wir sind uns nicht sicher, ob dies nur an den Farben liegt, die wir für die Überschriften verwenden, oder an etwas anderem, aber auf jeden Fall funktioniert dies für einige, aber nicht für alle unsere Überschriften.

Auch der Versuch, HTML-Tags mit manuellen IDs für unsere Überschriften zu verwenden, war nicht erfolgreich – dies sprang einfach nicht zu den Links. Wir haben irgendwo auf Meta gesehen, dass die ID-Informationen von Discourse entfernt wurden und haben diesen Ansatz nicht weiter verfolgt.

Dann sahen wir eine clevere Idee, leere Links direkt über unseren Überschriften zu platzieren, zu denen man einfach springen kann, und obwohl dies zunächst zu funktionieren schien, nachdem wir ein paar Beiträge nach unten gegangen sind, hört es auch auf, an die richtige Stelle im verlinkten Beitrag zu springen.

Weiß jemand, warum Überschriften so kaputt zu sein scheinen und wie wir sie über mehrere Beiträge innerhalb eines Themas hinweg zum Laufen bringen können? Ich klassifiziere dies als Fehler, da das Verhalten unglaublich unerwünscht erscheint, aber ich wäre bereit, einige Hürden auf unserer Seite zu überwinden, um dies zum Laufen zu bringen, wenn jemand weiß, wie.

Damit Anker über längere Themen hinweg funktionieren, müssten Sie die vollständige Beitragsadresse mit dem angehängten Header verwenden, um zu kompensieren, dass der Zielbeitrag nicht auf dem Bildschirm geladen wird.

Wenn der Anker im OP dieses Themas \u003ca name=\"anchor\"\u003e\u003c/a\u003e war, würde die Verwendung dieses Links auch in Beitrag Nr. 456 funktionieren.

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

Hilft das?

1 „Gefällt mir“

Das ist es, was wir leider bereits getan haben

Unsere Links im Inhaltsverzeichnis hatten dieses Format:

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

und unsere tatsächlichen Links in den Beiträgen hatten dieses Format:

<a></a>

Funktionierte für die ersten paar Beiträge, brach um Beitrag 8 oder 9 herum ab.

1 „Gefällt mir“

Ich benutze diese Methode auf einer anderen Website und sie funktioniert für mich sehr gut. Haben Sie einen Link, den Sie teilen könnten, damit ich ihn in Aktion sehen kann?

Nein, leider, da der Beitrag immer noch nur für Mitarbeiter zugänglich ist.

Vielleicht könnte ich versuchen, unser Setup auf der Website des Theme Creators zu replizieren und zu sehen, ob es dort funktioniert?

Update: Der Theme Creator hat kein Discourse BBCode, daher bin ich nicht überzeugt, dass es perfekt 1:1 sein wird. Unglücklich.

Wir verwenden normalerweise try.discourse.org dafür, aber es ist in diesem Fall vielleicht mehr Aufwand als es wert?
Das Einzige, was anders aussieht als bei den von mir verwendeten, ist der doppelte Bindestrich, aber das scheint unwahrscheinlich. Vielleicht liegt es an der Anzahl der Header-Links? Ich bin mir nicht sicher.

1 „Gefällt mir“

Das vermute ich auch und deshalb wird dies unter Bug und nicht unter Support eingestuft.

Ich habe try vergessen, werde vielleicht wechseln.

1 „Gefällt mir“

Hab sie.

Reproduzierbar auf Try.

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

Die ersten paar Sätze von Ankerlinks funktionieren.

Die Anker für die letzten drei Beiträge funktionieren nicht.

Tut mir leid, das am Wochenende rauszuschieben.

Wann werden die Dinge auf Try generell gelöscht? Ich würde es vorziehen, diesen ganzen Satz von Ankerlinks nicht wieder aufbauen zu müssen, lol.

Sie funktionieren beim ersten Mal und bei einer Seitenaktualisierung für mich, aber nicht, wenn ich die Navigationszeitleiste verwende, um zum OP zurückzukehren.

Ich habe ‘Zurück’-Links in meinen ähnlichen Beiträgen mit der vollständigen Beitragsadresse des OP/TOC-Headers, die eine Seitenaktualisierung durchführen würden. Würde das für Sie funktionieren?

1 „Gefällt mir“

Ich meine, wir könnten das sicherlich als Übergangslösung nutzen

Denn Sie haben Recht, das funktioniert tatsächlich

Allerdings navigiert niemand normalerweise so, daher halte ich dies definitiv für einen ziemlich eindeutigen Fehler, der idealerweise behoben werden sollte, wenn das Team Zeit dafür hat


Eigentlich werden wir wahrscheinlich nur auf die übergeordneten Beiträge verlinken und die spezifischen Abschnittsanker hinzufügen, wenn es behoben ist

Scheint besser zu sein als eine kaputte Funktion für unsere Benutzer


Gibt es eine Möglichkeit, diesen Beitrag auf Try zu speichern, damit er nicht gelöscht wird, damit jemand, der mehr über Discourse weiß als ich, nachsehen kann, warum das passiert?

Oder wäre es besser, ihn hier neu zu erstellen?

Sie könnten diese Beiträge im Bearbeitungsmodus öffnen oder die rohe Version herunterladen und sie in ein Thema auf Ihrer Website kopieren, um ein dauerhafteres Beispiel zum Verlinken zu haben (oder um sie zu speichern und später erneut zu versuchen).

eh, ich mache es einfach hier

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

so besteht keine Gefahr, dass etwas auf unserer Website die Fähigkeit des Teams beeinträchtigt, das Problem zu beheben