これは難しいテーマですね…ボタンを押すだけで、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で開く
それ以外の場合
- テキストは単なるテキスト
- ボディをテキストにするだけ
![]()