DraftPadの全文処理スクリプトを作るアシスト ScriptMaker
やってみたら出来たっぽいのでアップします。
DraftPadのアシストを登録するためのアシスト AssistMaker - W&R : Jazzと読書の日々前回書いた、アシスト登録用アシスト。こんな風に、DrfatPadに書いた文章を処理するアシストにはテンプレートな部分がある。毎回それをコピペするのも面倒に思えてきたので、書いたスクリプトを自動で変換するアシストを書いてみました。
これをアップするのを忘れてた。以前、DraftPadにアシストを登録するアシストを作ったのですが、そのときは力不足でエンコードまではサポートできてなかった。すると、登録できるアシストのタイプが限られて...
Title: ScriptMaker URL: draftpad://self/web?source=<script>location.href=%22draftpad:///webdelegate?load=f%22;f=function(x){TEXT=x.TEXT;TEXT%3D%22%5Cndraftpad%3A%2F%2Fself%2Fweb%3Fsource%3D%3Cscript%3Elocation.href%3D%2522draftpad%3A%2F%2F%2Fwebdelegate%3Fload%3Df%2522%3Bf%3Dfunction(x)%7BTEXT%3Dx.TEXT%3B%22%2BencodeURIComponent(TEXT)%2B%22%3Bdraftpad.replace(TEXT)%3B%7D%253C%2Fscript%3E%26TEXT%3D%3C%40%40%3E%22%3B%0A;draftpad.replace(TEXT);}%3C/script>&TEXT=<@@>
たとえば、下記のようなjavascriptをDraftPadに書きます。
line=TEXT.split("\n"); s="draftpad:///assist?title="; s+=encodeURIComponent(line[0]); s+="&url="; s+=encodeURIComponent(line[1]); TEXT+="\n"+s;
内容は、前回の「アシスト登録用アシスト」と同じ。変数TEXTが、DraftPadに書かれているテキスト全文を指します。これを改行で分割し、それぞれの行をエンコードしてTEXTの文末に追記する。そんなスクリプトになっています。
そして、ScriptMakerを起動。書かれていたスクリプトは消え、新たにアシストが追加されます。このアシストをDraftPadに登録すると「アシスト登録用アシスト」になる算段。
やってみると、きちんと動いてくれる。なんか手軽な気がしません?
TEXT="\ndraftpad://self/web?source=<script>location.href=%22draftpad:///webdelegate?load=f%22;f=function(x){TEXT=x.TEXT;"+encodeURIComponent(TEXT)+";draftpad.replace(TEXT);}%3C/script>&TEXT=<@@>";
ちなみに、ScriptMaker自体もScriptMakerで出来ていて、中身はたった一行。TEXTをエンコードし、ヘッダとフッタを付加してるだけ。それでもいろいろ出来るのがjavascriptの面白いところ。MyScriptsから移殖できそうなものがありそう。
ScriptMakerを使うとDraftPadアシストが電子レンジのように作れます