ふぁメモ

主に技術系のメモをしたいけどやっぱり適当日記。たまにPHPコード載ってるけどメモ書き程度のスクリプトなのでそのまま使っちゃダメ。

iOSのショートカットあれこれ

前置き

ずっとFirefox派だったんですが、アドオンがWebExtensionのみになって使い物にならなくなったのでWaterfoxに乗り換えてたんですが、最近重いんですよ。

アドオンいっぱい入れてるからってのもあるけど、世の中のWebコンテンツがChromeに最適化されてきている感じがしています。特にGoogleのサービスはGoogle Chromeじゃないとクソ重い。Googleフォトとか。

そんなわけでついに諦めてChromeに乗り換えつつある今日この頃、一応Kinzaを愛用していたのですが、KinzaはKinzaでYoutubeが再生できないとかTwitterの動画が再生できないとかUI設定が同期もエクスポートもできなくて複数PCで同じ設定にするのが面倒とかいろいろ問題があり、やっぱり純正Chromeしかないのかなっていうところです。

それはさておき

Firefoxで一番愛用していたのはJavaScript Actions (JSActions) であります。

※WebExtension版の JSActions K ではありません。

これで構築した拡張ブックマークレットのようなものは数知れず。Chromeでも活かしたい。

代わりになるものそれはUserScripts、かつてはGreaseMonkey、今はTamperMonkeyであります。

頑張ってJSActionsのスクリプトをTamperMonkeyに移植中です。

一番の違いだと思っていたメニューから選択して実行というUIも、@run-atcontext-menu にしてやれば同じになるんです。たまになぜか表示されないことがありますけど。 ブックマークレットだと難しいクリップボード系もGMなら使えます。

ブックマークレットだと難しいCORS (Cross-Origin Resource Sharing)もGMなら回避できます(今月決まったっぽい方針でダメになるかもしれないけど)。

GM推進派に俺はなるんだ(今更)。

ChromeでUserScriptsに慣れると、モバイルブラウザでも使いたくなりますね。

まあiOSではムリですね。でもAndroidならブラウザ拡張が入れられます。

Firefox Beta、Kiwi Browser、Yandex BrowserなどなどChrome用アドオンがそのまま使えるブラウザアプリがいくつかあります。

でもTamperMonkeyは動くんですがcontext-menuはダメでした。残念。

かといってコンテンツにリンクやボタン浮かしたくないなあ…。諦め。

おっと、

ムリだと思ったiOSですが、あるにはありました。

このアプリは頑張ればブックマークレットを簡単に作れます。ただUIが微妙。CORSの制限もあります。

前にも使ったOS標準になったWorkflow、これも実はイケることがわかりました。でも文法が独特です。よくみんなこれ使いこなしてるな…。

ツリーの直下だとそのまま繋がるんだけどちょっと離れると変数に入れておかないと…あやしく…ええいスマホでプログラミングとかやってられるかっ とまあ使い辛い。

でもなんか頑張ってます。

前置きその2

最近こういうアプリで分割したスクリーンショットを縦長画像に変換したりするのですが、あまり長すぎるとGoogleフォトが取り込んでくれないんです。

今度は逆に分割したくなります。

それで分割アプリを探すんですが、どうも横分割ばかりなんですよね。

どうやらInstagramで需要があるらしい…。

縦分割に対応してるのは有料、それも月額課金のアプリだけか…?みたいな。

そんなわけでショートカットで頑張ってみました。

成果物

f:id:fashi:20200318030008j:plain
CODE

f:id:fashi:20200318030040p:plain
動作中画面

なんというか、画像でしか紹介できないというのがもどかしいですね…。

一応シェア機能はありますので手持ちのiOS機器にインストールすることはできます(先に設定のショートカットの「信頼されていないショートカットを許可」をオンにする必要があります)。

分割数か分割ピクセル数を指定して分割できます。

写真を分割した場合にExifが受け継がれるのが地味にありがたいです。

同じ要領で変数を入れ替えて横分割も作れました。

Instagram用のアプリは正方形になるように頑張ってくれたり投稿までしてくれたり縦横分割したりフレーム付けたりするみたいですが、目的が違うので単純分割するだけです。

しかし

いざやってみたら落ちます。ひどい。画像が大きいと処理できないみたいです。意味ねぇ!!

諦めて複製→トリミングを手動でやるしかなくなりましたが、せっかく作ったので公開しておこうと思った次第であります。

おまけ

はてブするならはてなブックマークアプリがあるのでアプリに渡せばいいだけなんですが、たまにWebページではなくはてなブックマークのエントリーページをシェアしたい時がありますよね。

相手ははてブユーザーではないんだけどこんな話題になっているんだよっていう状態を紹介したい時。

でもはてブアプリでははてなブックマークのエントリーページのURLをシェアできないんですわ。

そんなわけであえてはてブしないでURLをコピーするだけのショートカットを作ってみました。

ついでにメタブのURLも取得できます。

昔ははてブアプリでもメタブができたんですけど、いつの間にかできなくなってしまって、メタブがしたいのに1階しか開けない!ってもどかしいことがよくあったので、メタブのURLを生成できるようにしました。はてブアプリに渡せばブクマできます。

さらにCanonical属性を取得するとモバイルでもデスクトップ用ページが取れたりアクセス解析用パラメータ消したりできるのだけどいちいちWebページとの通信を許可しますかダイアログが出てわりとウザい。

【追記】このショートカットはTwitterをブクマした時のCanonicalは小文字なのになぜか大文字を含んだアカウント名で登録される謎仕様に対応できていません。

ちなみにSafari以外からURLを渡した時にはWebページの内容を取得というのができるのだけどそっちだとJavaScriptは実行できないのが難。

Scriptableというアプリも気になるのでそのうち試そう。