DraftPadの行編集アシストRelineを作り直してみました

プレビューしながら行単位で編集するDraftPadアシスト ReLine
DraftPadにはBubblesという名アシストがあります。文章をカード化し、そのカードを並べ替えることで本文の編集が出来る標準アシストです。かっこいいし、とても便利。これがあるだけでも、Draft...
スクリプトを組むことが多いので、その編集が出来ないと、使う機会が激減します。プレビュー機能を諦め、コードのまま表示することにしました。派手さはなくなりましたが、不具合もなくなったので、常用できると思います。


DraftPad 1.6.2
分類: 仕事効率化,ユーティリティ
価格: 無料 (Manabu Ueno)

下記スクリプトをアシストとして登録します。

draftpad://self/web?source=<meta name=viewport content=initial-scale=1,maximum-scale=1><meta name=format-detection content=telephone=no><body style=margin:0;><div id=wine></div><script>last=0;list=new Array();clip=new Array();function Minus(x){clip.push(list[x]);list.splice(x,1);Count(x);Disp()}function Plus(x){s=(clip.length>0)? clip.pop():%22%22;list.splice(x,0,s);Count(x);Disp()}function Count(x){last=0;for(i=0;i<x;i++)last+=list[i].length+1;}function Disp(){s=%22<table width=100%25>%22;for(i=0;i<list.length;i++){s+=%22<tr><td valign=top onClick=Plus(%22+i+%22) style=width:32px;color:green;>%22+(%22000%22+(i+1)).slice(-4)+%22:</td><td onClick=Minus(%22+i+%22)>%22+list[i].replace(/</g,%22%26lt;%22)+%22</td></tr>\n%22;}s+=%22</table>%22;wine.innerHTML=s;draftpad.title(%22Total: %22+list.join().length)}function main(x){list=x.whole.split(%22\n%22);Disp()}location=%22draftpad:///webdelegate?load=main%26unload=function(){s=list.join(\"\\n\");draftpad.replace(s,last)}%22</script></body>&whole=<@@>

登録リンクはこちら→ http://tinyurl.com/laxuuwd



今回の変更点は、タイトル欄に文章全体の文字数を表示したこと。段落を削ると、リアルタイムに文字数が確認できます。字数制限のある原稿を推敲するとき、全体を見ながらバッサリと削除し、文章全体のバランスを考えることができます。



段落をタップすると削除し、行番号をタップすると貼り付ける。基本操作はそれだけ。これで、行単位での削除や移動ができるようになります。連続して削除すれば、その順番にクリップします。複数行の並べ替えもできる。シンプルなツールです。



何もクリップしていないときに行番号をタップすると、空行が挿入されます。そしてアシストを終了すると、この空行にカーソルが移動。つまり、カーソルのジャンプができるわけです。長文を書くとき、全体を見ながらカーソル移動する方法がDraftPadに無いので、代案としてこの方式を使ってみました。悪くなさそう。


アシストを閉じると、すぐにDraftPadの編集画面に戻ります。うっかり削除しすぎたままで閉じると、消えた行は復活しません。履歴から呼び戻してください。