先日からHandyFlowyとRubyPicoを組み合わせて何かできないかと試行錯誤しています。
HandyFlowyではトピックをクリップボードに保存しておき、その後にRubyPico上でスクリプトを起動する。
この流れを今はメインにして開発しているのですけど、やっぱりHandyFlowyから直接RubyPicoとそのスクリプトを起動したい。
機能拡張スクリプトをjavascriptやブックマークレット初心者でも簡単に試せる方法を紹介します。
初心者にとっては機能拡張スクリプトの登録自体が苦労
HandyFlowyからRubyPicoを起動するには機能拡張スクリプト上でRubyPicoのURLスキームをたたけばいいのですけど、これがなかなか初心者にはハードルが高い。
javascriptでコードを書く、そのままだと機能拡張スクリプトとして認識されませんのでエンコードする、HandyFlowyへ登録用のURLスキームとしてWorkFlowyに記入して、HandyFlowyからURLスキームを実行して登録、という流れ。
少しjavascriptのコードが間違っていたりすると初めからやりなおし、エンコードして登録用のURLスキームに直してWorkFlowyに記入してHandyFlowyから実行して登録。長い。
わたしはjavascriptは初心者なのではじめから動作するコートが書けるわけでもなく、このサイクルを何度も回して1本の機能拡張スクリプトを作るわけです。
初めての機能拡張スクリプトを作るときは心が折れそうになりました。
空のスクリプトを登録して後からスクリプト自体を入力する
先日、HandyFlowyの設定画面から各機能拡張スクリプトのソースコードへアクセスすることができ、しかも変更後のものを保存できることに気が付きました。
たとえば、空の機能拡張スクリプトを用意しておいてその設定画面から直接コードを記入すれば、登録の際の手間が少し減りますよね。エンコードして登録用のURLスキームに直してHandyFlowyから登録して実行するが、ソースを記入して実行するに。
というわけで空の登録用URLスキームを用意してみました。下記コードをHandyFlowyで実行するとtestscriptという名前で空の機能拡張スクリプトが登録されます。
handyflowy://import?name=testscript&script=
これを使えば、たとえばURLスキームで他のアプリ MemoFlowyを起動したい場合、設定画面に
window.open("memoflowy://");
と書けば、HandyFlowyから(間違っていなければ)MemoFlowyを直接起動することができます。他のアプリを起動したいだけとか、ちょっとした機能を追加するのに使える手ですよね。
ちなみにこんな方法も
ちなみに、winerosesさん作成のメタ機能拡張スクリプト「ScriptMaker」を使えば同じことができます。
こちらの方法ならばiPhone上だけでなく、PCで作成したスクリプトもHandyFlowyで登録することができます。
じっくり考えながら入力する場合はこちらのが使いやすいですね。
まとめ
HandyFlowyからRubyPicoのスクリプトを実行する程度なら今回紹介した方法で作成したいったのが早く作ることができます。
関連記事
https://www.chml-iwbht.net/entry/2017/02/07/225549
https://www.chml-iwbht.net/entry/2017/02/02/230009