DraftPadの全文処理スクリプトを作るアシスト ScriptMaker

やってみたら出来たっぽいのでアップします。


DraftPadのアシストを登録するためのアシスト AssistMaker - W&R : Jazzと読書の日々
これをアップするのを忘れてた。以前、DraftPadにアシストを登録するアシストを作ったのですが、そのときは力不足でエンコードまではサポートできてなかった。すると、登録できるアシストのタイプが限られて...
前回書いた、アシスト登録用アシスト。こんな風に、DrfatPadに書いた文章を処理するアシストにはテンプレートな部分がある。毎回それをコピペするのも面倒に思えてきたので、書いたスクリプトを自動で変換するアシストを書いてみました。

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=<@@>

DraftPad用の自作アシスト集



たとえば、下記のような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アシストが電子レンジのように作れます