PictRubyでiOSプログラミング:Evernoteのノートリンク変換をしてみた
http:// ⇄ evernote:// です。
ノートリンク
iPhoneのEvernoteは「共有>リンクをコピー>非公開リンク」でノートリンクを作成できます。ノートを表示するURLアドレスを返す。でもこれはSafariで開くから編集が出来ない。URLスキームを返してほしい。そのためのコンバータをPictRubyで作ってみました。
evernotelink.rb
PictRubyのスクリプトは下記の通り。クリップボードにURLアドレスがある前提で動きます。簡単なチェックをして、ノートリンクでなければスルーします。
def main
s = Clipboard.get
p = s.split("/")
if p[2] == "www.evernote.com" then
s = "evernote://view/"+p[6]+"/"+p[4]+"/"+p[7]+"//"
else
if p[0] == "evernote:" then
s = "https://www.evernote.com/shard/"+p[4]+"/nl/"+p[3]+"/"+p[5]
end
end
s
end
if文の書き方、なんだかBASICみたい。それと、文字列だけ書くと表示になります。変数の s だけ書いてある行がその部分で、これだけで変数sの内容を出力します。MyScriptsを思い出しました。懐かしい仕様です。使い方
Evernoteの右下メニューから「共有」を選び、リンクを作成します。
通知センターから呼び出し
PictRubyのevernotelink.rbを実行。Launcherに登録すると便利。
pictruby://evernotelink
変換完了
リンクが表示されるので、タップすればEvernoteが起動します。あるいは、右上「Save」をタップするとクリップボードに保存します。あっけないほど簡単。
Workflow経由
Evernoteで「リンクをコピー」ではなく、Workflowに非公開リンクを与えると、パパッとPictRubyで変換・表示してしまうレシピ。Workflowの苦手な文字列処理をPictRubyに任せる方法です。クリップボードに入れる前にTextを噛ませるのがミソかな。
まとめ
クリップボードの文字列処理。詰まるところがない。Ruby、わかりやすいですね。「iPhone/iPadで何かアプリを作ってみたい」と思っても、Appleに開発者登録し、年会費を払うとなるとハードルが高い。本格的に覚えなきゃいけないことも多い。PictRubyだと、無料のアプリで、ネット上の情報を見れば、何か書くことが出来るわけです。自分の欲しいアプリを自分で作る。愉しいです。Workflowを使えば共有シートからも呼び出せるので、とんでもない怪物だと思う。着実に進化してほしい。