メンション可能

:information_source: 概要 トピック内のテーブルを検索可能なアイテムに変換し、メンバーが + で言及できるようにします。リンクとワンボックスプレビュー付きです。
:hammer_and_wrench: リポジトリ Discourse Mentionables
:open_book: インストールガイド セルフホスト型 Discourse サイトにプラグインをインストールする
:heart: スポンサーシップ これらのプラグインのメンテナンスと最新バージョンの Discourse での動作維持をサポートするため、継続的な開発へのスポンサー登録をご検討ください。

コミュニティが話し合うもの(書籍、製品、プロジェクト、場所、サポートリソース、または URL を持つ他の任何东西)に共通の語彙を与えましょう。
メンバーは + と名称の一部を入力し、候補を選択すると、アドレスを覚えることなく読みやすいリンクが表示されます。

mentionables オートコンプリートから共有リソースを選択する

機能

  • URL のみで開始。 インポーターが名前を取得し、スラッグを生成します。独自の名称とスラッグを任意の上書きとして追加できます。
  • 入力しながら検索。 Markdown エディタおよびリッチテキストエディタの両方で、+ を入力するか、コンポーザーツールバーのボタンを使用してカタログを検索できます。
  • 読みやすいインラインリンク。 言及はアイテムの表示名を使用したコンパクトなピルとして表示され、投稿の Markdown には安定したスラッグが含まれます。
  • ネイティブワンボックス。 言及を単独行に配置すると、Discourse の既存のレイアウトとサポートされている宛先を使用してワンボックスを表示します。
  • デスクトッププレビュー。 インラインピルにホバーまたはフォーカスすると、「元のページを開く」リンク付きのフローティングプレビューが開きます。通常のクリックでは宛先が開きます。
  • 管理者が Discourse で編集できるカタログ。 トピックの最初の投稿にある Markdown テーブルからインポートします。Google アカウントや API 認証情報は不要です。
  • 管理者用のテーブルボタン。 コンポーザーツールバーから空の mentionables テーブルを挿入し、アイテムを入力できます。

ワンボックスの外観は、宛先と Discourse の標準的なワンボックスサポートに依存します。サポートされていない宛先はリンクのままになります。フローティングカードにはログインが必要です。ゲストでも宛先リンクに従うことは可能です。コード内の言及は無視され、リストや引用内の言及はインラインのままになります。

Basic Mentionables と Pro 拡張機能

Basic Mentionables はベースプラグインです。Pro はオプションのコンパニオンプラグインであり、並行してインストールされます。Pro はその依存関係を通じてベース機能を包含します。

機能 Basic Mentionables Pro 拡張機能あり
トピックの最初の投稿から Markdown テーブルをインポート はい はい
ソーストピックを制限カテゴリ内に保つ はい はい
管理者専用のテーブルスケルトンを挿入するためのコンポーザーボタン はい はい(アイコン列を含む)
Markdown およびリッチテキストエディタで + を使用して検索 はい はい
インライン言及ピルと単独のネイティブワンボックス はい はい
デスクトップでのホバーまたはキーボードフォーカス時のフローティングプレビュー はい はい(デフォルトのホバーモード)
サービスアカウントを使用して Google Sheets からインポート — はい
トピックテーブルと Google Sheets の間を選択 トピックテーブルのみ はい
12時間ごとの自動同期 — オプション(デフォルトではオフ)
オプションのアイコン名と HTML カラーをインポート — はい(どちらのソースからも)
クリックまたはタップでフローティングプレビューを開く(タッチデバイスを含む) — オプション

Pro の icon と icon_colour 列は、言及の名前の前にカラーアイコンを追加します。例えば、ハンドブックには book と #2563eb を使用します。
mentionables_pro_click_to_preview が有効になっている場合、ピルをクリックまたはタップするとそのプレビューが開き、プレビュー内の「元のページを開く」リンクはターゲットへ移動します。

クイックセットアップ

  1. 上記のインストールガイドを使用してベースプラグインをインストールします。インストール後に Discourse を再構築してください。

  2. カタログ用のトピックを作成します。管理者として、コンポーザーツールバーの mentionables テーブルを挿入 を使用するか、このテーブルを最初の投稿に貼り付けてください:

    | name               | url                                 | slug               | image_url |
    | ------------------ | ----------------------------------- | ------------------ | --------- |
    | Getting started    | https://example.com/getting-started | getting-started    |           |
    | Community handbook | https://example.com/handbook        | community-handbook |           |
    | Events calendar    | https://example.com/events          | events-calendar    |           |
    
  3. サンプル URL をご自身のものに置き換え、投稿を保存し、mentionables_topic_id をそのトピックの数値 ID に設定します。mentionables_enabled を有効のままにしてください。Pro をインストールしている場合は、この設定に対して mentionables_source で topic_table を選択する必要があります。

  4. 管理 → プラグイン → Mentionables を開き、インポートを開始 をクリックしてから、レポートを確認するために 更新 をクリックします。バックグラウンドジョブワーカーが実行されている必要があります。

  5. ブラウザを再読み込みし、コンポーザーを開いて + を入力してアイテムを試してみてください。

小文字のカラム名を使用してください。必須なのは url のみで、http:// または https:// で始まる必要があります。URL のみの行では、宛先から名前を取得し、スラッグを生成します。これらのデフォルトを上書きするために name、slug、または両方を指定でき、これらオプションを一つのテーブル内で混合できます。タイトルが利用できない場合、URL が表示名になります。ソースにスラッグが含まれていない場合、既存の URL はスラッグを保持します。
image_url と description はオプションです。

インポーターは、最初の投稿内の url 列を持つ最初の引用なしテーブルを読み取ります。返信、引用されたテーブル、フェンストコードサンプルは無視されます。ソーストピックは、パーソナルメッセージではなく、通常で削除されていないトピックである必要があります。

ソースのプライバシーとカタログの更新

ソーストピックをスタッフまたは他の制限カテゴリ内に保ち、信頼できる人だけがメンテナンスできるようにすることができます。インポートされた名前、URL、画像は mentionables のユーザーに利用可能になります。 トピックを制限しても、インポートされたカタログがプライベートになるわけではありません。機密情報はテーブルに入れないでください。

各インポートは URL によって同期されます:一致する URL は更新され、新しい URL はレコードを作成し、ソースから削除された URL はレコードを削除します。完全なソースが有効である必要があります。重複した URL やスラッグ、無効な行、フェッチ失敗、空のデータセットはカタログを変更しません。意図的なクリアには すべて削除 を使用してください。ソーストピックとスプレッドシートは決して変更されません。Pro のオプション設定 mentionables_pro_sync_enabled は、同じインポートを 12 時間ごとに実行します。インポート後にブラウザを再読み込みしてください。既存の調理済み投稿は自動的に再バークされず、スラッグを明示的に変更すると以前の +slug リファレンスが壊れる可能性があります。

設定と追加情報

設定 目的
mentionables_enabled Mentionables を有効化または無効化します。
mentionables_topic_id 最初の投稿にソーステーブルを含むトピック。
mentionables_autocomplete_limit 提案の最大数。デフォルトは 5 です。
mentionables_onebox_fallback 名前が指定されている場合でも、欠落した画像/説明を取得します。デフォルトではオフです。

完全なセットアップガイド、インポート動作、トラブルシューティングについては、README を参照してください。スクリーンショットは、プラグインのテストフィクスチャからのサンプルデータを使用しています。

「いいね!」 24

トピックはメンション可能なユーザーで絞り込めますか?各投稿を州に関連付けるように、米国州のデータセットを作成したいと考えています。

現時点では対応していません。抽象的な概念として、フィルターがどのように機能するかについてどのようにお考えですか?任意の外部データセットを「言及可能なセット」として定義できます。おそらく、カスタム言及可能なデータを含む投稿の順序を決定する追加列をデータに設けることができるでしょう。また、同じ投稿内で複数の言及が行われた場合の処理も考慮する必要があります。この機能を抽象的なレベルで詳細にスコープアウトしていただければ、実装に必要な工数の見通しを立てることができます。

元の名称は任意で、og タグから派生させることができていましたが、リファクタリングの際に失われてしまいました。

修正をプッシュしました: make name optional again · paviliondev/discourse-mentionables@a7007b2 (github.com)

「いいね!」 1

OK、これを実行するためのPRをいくつか完了しました。これにより、すべてが再び稼働するようになります。

APIをGoogleの公式APIに移行し、中間gem(およびその他いくつか)を削除し、CIを追加したため、今後さらに信頼性が高まるはずです。

設定の破壊的変更に注意してください。

  • mentionables_google_spreadsheet_url: 「GoogleスプレッドシートのURL」

が以下に変わります。

  • mentionables_google_spreadsheet_id: 「GoogleスプレッドシートのID」

  • mentionables_google_worksheet_gids: 「ワークシートGIDにGoogleスプレッドシートのインポートを制限します。空の場合、すべてのワークシートがインポートされます。」

が以下に変わります。

  • mentionables_google_worksheet_names: 「対象となるソースワークシート(タブ)の名前」

そして、新しい設定があります。

  • mentionables_google_worksheet_max_row: 「スキャンされる最大行数」

これにより、フロントエンドが修正されます(テストが追加されます)。

「いいね!」 3

行き止まりのようです…

ご報告ありがとうございます。リンクを更新しました。

「いいね!」 2

なぜこんなに技術的なのですか?設定して動作させることすらできません。

スプレッドシート用のアップロードボタンがあれば、私のような平均的なユーザーでも利用できたでしょう。

または、オンラインフォームエディターがあれば。これは残念ながら、あまりにも高度すぎます。

一部同意します。このプラグインは確かに非常に技術的なオーディエンス向けに構築されていました。しかし、セットアップが難しいだけで、その後は逆です。

実際、Google スプレッドシートのパワーを活用して、使い慣れたエディターを使用しようとしています。

セットアップが完了すれば、ファイルをアップロードするよりもはるかに簡単な方法で、技術者でない人もプラグインを使用できます。

それは、第三者のサイトでレンダリングされた財務グラフを表示するという@froldのユースケースには適していないと思われます。Mentionablesは、そのようなユースケースを想定していません。

チャットで案内していただける方がいれば、お気軽にご連絡ください。

公開フォーラムでコードを共有するのは安全ではないと思います…

@frold ここにはサードパーティのグラフを共有するためのコードはありません。このプラグインは役に立ちません。これは、サイトがユーザーに製品のリストから検索および取得できるように設計されており、各製品ページへのリンクである灰色のバブルとして表示されます。

「いいね!」 1

わかりました。投稿にリンクが挿入されると思っていました。

このURLは画像にすることもできます。

挿入されます。

いいえ、ただの灰色の吹き出しに入ったつまらない説明です :sweat_smile:

ここにさらにスクリーンショットが1枚あると役立つかもしれません :slight_smile:

これはアフィリエイトリンクのセットに最適です。

OPを更新しました。

「いいね!」 2

設定と構成に進む前に、mentionables の適切なユースケースは、法律文書の草稿であるトピックの作成であり、法律や判例への参照を含めることができ、接続されている「mentionables」スプレッドシートには関連する法律参照と判例のコレクションが含まれているということでしょうか?

「いいね!」 1

それは有力な可能性のように聞こえます。埃っぽい古い本の素敵な写真があれば、役に立ちます :wink:

「いいね!」 1

いつか、+をさらに押すことでアクセスできる同じアイテムの代替スニペットを追加したいと思っていました。

設定は以下の通りです(セットアップ手順で提供されたテストデータGoogleスプレッドシートを使用しています)。そして、現在発生しているエラーです。(どうやらプラグインが壊れているようで、開発者は料金を要求していますか?もちろん、それは問題ありません。参考までにお伝えします!)

何かお手伝いいただけることがあれば、大変助かります!

まだ動作しています。秘密鍵が -----BEGIN PRIVATE KEY----- で始まり、-----END PRIVATE KEY----- で終わることを確認してください。

「いいね!」 1

いいえ、動作しています。無料です。なぜそのように思われたのですか?

「いいね!」 1