サイドバーの現在のドキュメントトピックを、インデックスのslugで識別してハイライトする

DEV/PROD環境間で同じ目次インデックスを維持するために、URLの末尾にトピックインデックスを追加するのではなく、スラッグのみを使用して目次インデックス項目を定義しようとしています。

スラッグのみでナビゲートが機能し(スラッグのみで正しいトピックに移動する)、左側のメニューの現在のトピックがハイライトされないのは、すべてのURLの末尾にIDを追加した場合のみです。これに対する回避策はありますか?

「いいね!」 2

それはクールなユースケースですね。スラグだけを使うことは理解できますが、サイトのURLを置き換えるにはどうするつもりですか?

例えば、本番環境では

# Index
- https://prod.discourse.site/t/one-slug

次に開発環境では

# Index
- https://dev.discourse.site/t/one-slug
「いいね!」 1

URLに相対パス(t/one-slug)を使用していますが、これは問題なく動作しているようです。

なるほど、以下のような感じですね。

## セットアップ
* [デバイスの初期セットアップ](/t/initial-setup-of-your-device)

了解しました。スラッグリクエストの更新作業中です。

「いいね!」 6

ナタリーさん、ありがとうございます!大変感謝しています :slight_smile:

これに関するアップデートがあったことに気づいたので、自分のシステムで試してみましたが、動作しないようです。まだ作業中でしたら申し訳ありません :slight_smile:

ご参考までに、Railsを使用してPROD上のすべてのア​​ンカーリンクのpost-idインデックスを更新する方法を見つけましたので、これで回避策があります。

本番データベースを開発環境にリストアすれば、同じIDが得られるので、なぜそうしないのですか?私が何かを理解していないに違いありません。

それはPRODのフォーラムコンテンツをすべて消去してしまうのではないでしょうか?

いいえ。それは開発環境のフォーラムコンテンツをすべて消去します。

あなたが開発環境をどのように使用しているのか、私には理解できないようです。

申し訳ありません。最初のメッセージを読み間違えました(DEVとPRODを逆にしていました!)。

最初にTOCインデックス(および関連トピック)をDEVで構築したため、それらをPRODに簡単に複製する方法が必要でした。PRODで全てが動作するようになった今、はい、PRODからDEVにリストアして同期を取り戻すことは可能です。

しかし、我々はDEVシステムを本番前ステージングエリアとしてではなく、サンドボックス(実験用)として扱うため、今すぐこれを実行する差し迫った必要性はありません。

「いいね!」 1