トピック内の投稿全体でアンカーが機能しない

FAQ/フォーラム利用ガイドとしてトピックを設定しようとしていますが、その過程で、いくつかの長い投稿にそれぞれ複数の見出しを設け、トピックの最初の投稿に目次をまとめて、ユーザーが簡単に移動できるようにしたいと考えています。

これは意図したとおりに機能させるのが意外と難しく、Meta(Discourseのフォーラム)を調べても残念ながらあまり役立ちませんでした。プラグイン(Auto-ToCなどと呼ばれるもの)のことは認識していますが、単一のトピックのためだけにそれを使いたくはなく、それに対処したくありません。

見出し用の#記号で自動生成されたMarkdown見出しの隣にあるリンクアイコンを使ってみましたが、うまくいきません。これは単に見出しに使用している色のためなのか、それとも全く別の理由なのかは分かりませんが、いずれにしても一部の見出しでは機能しますが、すべてではありません。

手動でIDを設定したHTMLタグを見出しに使用しようとしましたが、これも成功しませんでした。リンクに全くジャンプしませんでした。Metaのどこかで、ID情報がDiscourseによって削除されているのを見て、このアプローチを断念しました。

その後、見出しのすぐ上に配置された空のリンクを使用する巧妙なアイデアを見つけ、最初は機能するように見えましたが、数投稿進むと、リンク先の投稿で正しい場所にジャンプしなくなりました。

見出しがこれほど壊れているように見える理由と、単一トピック内の複数の投稿でそれらを機能させる方法を知っている人はいますか?この動作は非常に望ましくないように思われるため、バグとして分類しますが、誰かが方法を知っていれば、こちら側でいくつかの工夫をして機能させることも可能です。

画面にターゲット投稿が読み込まれていないことを補うために、ヘッダーを付けた完全な投稿アドレスを使用する必要がある場合があります。

アンカーがこのトピックのOPで <a> になっていた場合、このリンクを使用すると、投稿456でも機能します。

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

これで役立ちますか?

「いいね!」 1

残念ながら、それはすでに私たちがやっていたことです。

目次のリンクは次の形式でした。

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

投稿内の実際のリンクは次の形式でした。

<a>

最初の数投稿では機能しましたが、投稿8または9あたりで壊れました。

「いいね!」 1

この方法は他のサイトでも使っていて、とてもうまくいっています。実際に動いているのを見せてもらえるリンクはありますか?

いいえ、残念ながら、その投稿はまだスタッフ限定のためです。

テーマ作成者のウェブサイトで設定を再現してみて、そこで機能するかどうか確認してみましょうか?

更新:テーマ作成者にはDIscourse BBCodeがないため、完全に1対1になるとは確信が持てません。残念です。

これには try.discourse.org を使用する傾向がありますが、今回のケースではそれだけの価値はないかもしれません。

私が使用しているものと違う点は二重ハイフンだけのように見えますが、それは可能性が低いでしょう。ヘッダーリンクの数でしょうか?よくわかりません。

「いいね!」 1

私もそう思います。だからこれは Support ではなく Bug に分類されているのです。

try のことを忘れていました。そちらに移行するかもしれません。

「いいね!」 1

Got 'em

Tryで再現可能

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

最初の数セットのアンカーリンクは機能します

最後の3つの投稿のアンカーは機能しません

週末にこれを展開して申し訳ありません

Tryでは通常、いつデータが消去されますか?これらのアンカーリンクのセット全体を再度構築する必要がないことを願っています lol

初回は機能し、ページリフレッシュでも機能しますが、ナビゲーションタイムラインを使用してOPに戻ると機能しません。

OP/TOCヘッダーの完全な投稿アドレスを含む「戻る」リンクが類似投稿にありますが、これはページリフレッシュを実行します。それはあなたのために機能しますか?

「いいね!」 1

まあ、つなぎとしては確かに使えますね

おっしゃる通り、それは実際に機能しますから

しかし、誰も普通はそんな風にナビゲートしないので、これはかなり明確なバグだと思いますし、理想的にはチームが時間を見つけて修正すべきです


実際には、トップレベルの投稿にのみリンクし、修正されたら特定のセクションアンカーを追加するだけになるでしょう

ユーザーにとって壊れた機能よりは良いでしょう


Discourseについて私よりも詳しい人が、なぜこれが起こっているのかを突き止めるために調べられるように、Tryにあるこの投稿が消去されるのを防ぐ方法はありますか?

それとも、こちらで再作成した方が良いでしょうか?

それらの投稿を編集モードで開くか、raw バージョンを取得して、サイトのトピックにコピーして、リンクするためのより永続的な例として(または保存して後で再試行するために)使用することができます。

ええ、ここでやります。

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

こうすれば、私たちのサイトの何かがチームの問題解決能力を妨げる可能性はなくなります。