Discourse Linkify Google Sheets

このプラグインを使用すると、linkify テーマコンポーネントのデータを Google スプレッドシートから取得できます。現時点では、このテーマコンポーネントの このフォーク をインストールする必要がありますが、将来的にはこのプラグインで実際のテーマコンポーネントを使用できる解決策が提供される可能性があります。


設定

手順:

  1. Google Cloud でサービスアカウントを作成します。Create service accounts  |  Identity and Access Management (IAM)  |  Google Cloud Documentation
    Google から JSON ファイルのダウンロードがトリガーされます。その内容を安全に保管してください。

  2. Google スプレッドシートを作成し、サービスアカウントのメールアドレスと共有してください。

  3. 以下の行を app.yml の env セクションの末尾に貼り付けます。

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  以下を参照
    
  • GOOGLE_PRIVATE_KEY パラメータの設定方法?

    • JSON ファイル内のキーをコードエディタに貼り付けます。
    • 検索と置換を使用して、\n\\n に置換します。
    • 結果をコピーし、単一引用符 ' ' で囲んで GOOGLE_PRIVATE_KEY の前に app.yml に貼り付けます。
  1. プラグインのインストール手順に従ってください。

  2. Linkify テーマコンポーネントの このフォーク をインストールします。


プラグイン設定

linkify_google_sheet_id: ブラウザで Google スプレッドシートを開くと、https://docs.google.com/spreadsheets/d/ の後に続く長い文字列がスプレッドシート ID です。

linkify_google_sheet_name: Excel ファイルには Sheet1Sheet2 など複数のシートが存在する場合があります。そのシート名をここに入力します。

linkify_google_sheet_cell_range: linkify データを取得する列です。デフォルトでは最初の 2 列に設定されています。この値を変更できます。セル範囲の仕組みについては、こちらのガイドをご覧ください。Google Sheets API Overview  |  Google for Developers


:page_facing_up: コードを取得

:raising_hand_woman: 機能リクエスト

:bug: バグ報告

お困りですか?

  • プラグインのインストール方法がわからない場合は、こちらの手順 をお試しください。

プラグインのスポンサーシップをありがとうございます @jrgong

「いいね!」 7

@sam
これにより、そのようなテーマコンポーネントのデータソースにクリーンにフックし、置換することを可能にする plugin-api メソッドも提案します。

例:

// 使用中
let data = useDataSource('linkify-data');
// プラグインやテーマコンポーネントは、以下のような処理を行えます

setDataSource('linkify-data', customDataObject);

ここでのアイデアは、他のテーマコンポーネントが setDataSource を別のオブジェクトに設定できるという点です。
これにより、コードを変更することなく、そのようなコンポーネントのデータソースを置換できるようになります。
ご意見をお聞かせください。

「いいね!」 4

最高です!素晴らしい仕事と実装をいただき、ありがとうございます @fzngagan

「いいね!」 2