こないだ作った「calm editor」にクエリパラメータ機能を追加してみた。他のアプリやBookmarkletからテキストを送信したかったので頑張った ;)
参考
ちなみに「クエリパラメータ機能*1」はいろんなアプリにあって、Textwellなら「textwell://insert?text=hoge」でhogeが挿入される、みたいなやつ。
calm editor で使えるパラメータ
使えるパラメータは、
- text
- add
の2つだけ。シンプル。
各々の書き方と機能について軽く説明すると、
まずtextの方は、
http://akio6o6.github.io/calmeditor?text=hoge
と書く。
このパラメータがついてると、localStrageに残ってるテキストではなく「hoge」がtextareaに挿入された状態でエディタが開く。
textareaを編集するとlocalStrageが更新されるので、前に書いていた文章は削除される。全文置換みたいなイメージで使えると思う。
「add」は、
http://akio6o6.github.io/calmeditor?add=hoge
と書く。
このパラメータがついてると、localStrageに保存されているテキストに「改行&hoge」を追記してエディタが開く。
これで素早く他のエディタやブラウザと連携できるようになったわけです!
使用例
具体的にどう使えるか書く。
- Textwellの文章をcalm editorに転記するアクション
Import Textwell Actioncalm editor
calm editorからTextwellには転記できるので、逆をやってみようという試み。スクリプトが実行できるエディタ(1Writerとか)なら同じようなことできる。
今開いてるページのリンクタグを挿入するBookmarklet
javascript:window.open('http://akio6o6.github.io/calmeditor?add='+encodeURIComponent(''+document.title+''));
たまに使いそう。
- ハサミスクリプト使ってWorkFlowyから直接転記
「HASAMI script marker」の出力先のURLスキーム欄に
'http://akio6o6.github.io/calmeditor?text='+encodeURIComponent(titletxt+'\n'+outtxt)
と入力してスクリプトを作成すると、WorkFlowyのzoomしている部分のテキストをcalm editorに転記できる。
WorkFlowyanとして抑えとこうかな、と。長文だと無効になるけど一応できるよってことでひとつ。
*ちなみにlocalStrageを使っているため保存されるデータはブラウザによって異なる。「ホーム画面に追加」でウェブアプリ化してるとSafariと違う扱いになるため、ウェブアプリだと連携できない。煩雑になるとも考えられるけど、別の紙をもっておくと考えればまぁアリ?
■
スクリプトは「よい書き方」が分からないのでとりあえず動いてる状態。う~む。勉強しつつやっていこう。
「文章を書くためだけのエディタ」として作り始めたのに無駄に機能増えてきた。勉強にはなってるんだけど本末転倒感もあり。
*1:命名は適当