Chrome/Firefox extension "Share to discourse"

これは難しいテーマですね…ボタンを押すだけで、Discourseに便利なリンクを貼るにはどうすればよいでしょうか。

iOSの共有シートにある「Discourseに投稿」ボタンのロジックと大差ないはずです。

以下のようにプログラムできるでしょう。

  • 共有シートから入力を受け取る。共有シートのボタンはショートカットの名前になる。
  • ショートカットの入力からtextを取得する。
  • Text ook(「Look what i found on」の「Look」の一部)
  • Text I(「I found」の「I」)
  • Text Source:(URLの出典を示す)
  • Text heck(「Check out what i found」の「Check」の一部)
  • 上記のいずれかのテキストが入力テキストに含まれている場合
  • Source: を just want a link に置き換える
  • そこからURLを取得する
  • ホストを取得する
  • パスを取得する
  • クエリを取得する
  • ホスト、パス、?、そしてクエリをURLとしてエンコードする
  • Text https://yourdomain.co.uk/new-topic?title=Shared%20from%20iOS&body=https://[encoded URL]
  • Safariでそのテキストを開く

それ以外の場合

  • ショートカットの入力テキストに g.co が含まれている場合
  • Text 内の https?://(.*) に一致させる
  • マッチのインデックス1のグループを取得する
  • Text https://yourdomain.co.uk/new-topic?title=Shared%20from%20iOS&body=https://[the text]
  • Safariでそのテキストを開く

それ以外の場合

  • ショートカットの入力テキストに youtube が含まれている場合
  • ホストを取得する
  • パスを取得する
  • クエリを取得する
  • エンコードする
  • フォーラムURLのテキスト
  • Safariで開く

それ以外の場合

  • テキストは単なるテキスト
  • ボディをテキストにするだけ

:rofl:

「いいね!」 1