投稿で変数/bbcodeを使用する方法

こんな内容を投稿に記述する最適な方法を考えています:

[ここをクリックしてあなたの席を確保](https://mysite.com/$CURRENT_USERNAME)

ここで $CURRENT_USERNAME は、ログインしているユーザーに応じて異なる値に置き換わります。

プラグイン API を使ってテーマコンポーネント内で現在のユーザー名を取得することはできそうですが、リンクを挿入する最適な方法がわかりません。

考えられるオプションの一つは、discourse-detailsdiscourse-spoiler-alert のような新しい BBCode コマンドを追加するプラグインを作成することです。例えば以下のようなものです:

[dynamic-url description="ここをクリックしてあなたの席を確保" pattern="https://mysite.com/$CURRENT_USERNAME"][/dynamic-url]

あるいは、より一般的に:

[dynamic-tag tagName="iframe" src="https://mysite.com/$CURRENT_USERNAME"][/dynamic-tag]

しかし、もっとシンプルな代替案があるかどうか気になっています。

プレースホルダーテーマコンポーネントをご覧になりましたか?

これはご提案の機能の、よりシンプルなバージョンです。それ以外の場合、置換を処理するためにマークダウンエンジンにアクセスする必要がありますが、その際、エンジンがクライアント側とサーバー側の両方で必要な置換情報にアクセスできるようにする必要があります。その部分が厄介です。

「いいね!」 2

別の方法として、テーマコンポーネント(プラグインより軽量)を作成し、wrap を使用することもできます。

「いいね!」 2