Discourse に Runkit ウィジェットを埋め込む

こんにちは!Discourse によってホストされている Discourse インスタンス(エンタープライズプランではなくビジネスプラン)を運用しており、投稿にRunkitウィジェットを埋め込みたいと考えています。これは可能でしょうか?よろしくお願いいたします!

技術的には、投稿を装飾するテーマコンポーネントを使用することで可能です。その場合、埋め込み用に [wrap] セクションを定義し、投稿の装飾読み込み時にライブラリをロードして埋め込み処理を実行します。

ただし、以下の点に十分な注意を払うことを強くお勧めします:

  1. CSP(コンテンツセキュリティポリシー)を無効化しないよう、この点を慎重に検討する必要があります。
  2. 大きな動的な JS ペイロードを読み込むことで Discourse の動作が遅くならないようにする必要があります。
  3. Runkit に Discourse 上で JavaScript を実行させることは、同社に多大な信頼を置いていることになります。

この機能の開発には、おおよそ 1〜2 日程度の作業時間が必要と見積もられます。予算がある場合は、Marketplace でトピックを立ててご相談いただくことをお勧めします。テーマコンポーネントは、当社のビジネスプラン環境でも問題なくインストール可能です。

oEmbed 標準のおかげで、https://runkit.com/ を「許可された iframe」設定に追加するだけで完了です。

Runkit の URL を単独の行に貼り付けるだけで、Discourse が魔法のように機能します。

https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2

これが

https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2

に変換されます。

ただし、埋め込みコンテンツが長すぎると表示がおかしくなるため、埋め込みコンテンツを装飾し、スクロール可能にするためのテーマコンポーネントが必要になるかもしれません。

ご返信ありがとうございます!@sam Runkit のコードはクライアント側ではなく、サーバー側で実行されるため、比較的安全です(ウィジェット自体の読み込みにより読み込みが遅くなる可能性はありますが、それだけです)。@Falco さん、「許可された iframe」の設定を完全に見過ごしていました。これを設定したところ、すぐに完璧に動作するようになりました!チームコンポーネントについては、できることを探ってみます :slight_smile: