僕はPPx+howmでメモ環境を構築している(参考:MoE)。これに
- 一行編集からタイトルを指定してhowmファイルを作成
- 一行編集からhowmファイルのタイトルを変更
を追加して、todo管理もできるようにする。
準備
以下をScriptフォルダに保存。それぞれ「タイトルを指定してhowmファイルを作成」「タイトルを変更」「タイトルを取得」するスクリプト。
settitle.js
//!*script // howmファイルを作成する // 第一引数:作成するフォルダ // 第二引数:タイトル // *script %0Script\makehowm.js,%1,homuhomu // editor %*script(%0Script\makehowm.js,%1,%*now(date)) var fso = PPx.CreateObject("Scripting.FileSystemObject"); var dirname = PPx.Arguments.Item(0); var filename = PPx.Extract("%*nowdatetime(Y-N-D-HMS)")+".howm"; var filepath = fso.BuildPath(dirname,filename); var str="= "; // 引数が複数あればそれをつなげる for (var i = 1; i < PPx.Arguments.length; i++) { if (i==1){ str += PPx.Arguments.Item(i); } else { str += ","+PPx.Arguments.Item(i); } } str += "\r\n\r\n\r\n["+PPx.Extract('%*now')+"]"; var file = fso.OpenTextFile(filepath, 2, true); file.Write(str); file.Close(); PPx.result = filename;
changetitle.js
//!*script // 与えられたhowmファイルのタイトルを変更するスクリプト // 第一引数:howmファイルパス // 第二引数:変更するタイトル // *script %0Script\changetitle.js,%R,homuhomu var s=""; var str = ""; var filepath = PPx.Arguments.Item(0); var fso = PPx.CreateObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile(filepath, 1); // 引数が複数あればそれをつなげる for (var i = 1; i < PPx.Arguments.length; i++) { if (i==1){ str=str + PPx.Arguments.Item(i); } else { str=str + ","+PPx.Arguments.Item(i); } } s = "= "+str+"\r\n"; f.ReadLine(); //空読みで一行目を飛ばす while (!f.AtEndOfStream) { s += f.ReadLine()+"\r\n"; //sに一行づつ読み込み } f.Close(); //PPx.Echo(s); // 書き込み var f2 = fso.OpenTextFile(filepath, 2); f2.Write(s); f2.Close();
gettitle.js
//!*script // 与えられたhowmファイルの一行目の2文字~30字を切り取ったものを返すスクリプト // 第一引数:howmファイルのパス // %*script(%0Script\gettitle.js,%R) var filepath = PPx.Arguments.Item(0); var objFileSys = PPx.CreateObject("Scripting.FileSystemObject"); var objInFile = objFileSys.OpenTextFile(filepath, 1); var str = objInFile.ReadLine().slice( 2,30 ); objInFile.Close(); PPx.result = str;
以下を編集して取り込み。パスは各自で読み替えてください。
KC_main = { ; PPcメイン窓 \K ,*ifmatch "/D:\\Temp\\todo/",%1 %: *script %0Script\settitle.js,D:\\Temp\\todo,%"todo"%E %: *stop %K"@\K" \E ,*ifmatch "/D:\\Temp\\todo/",%1 %: *script %0Script\changetitle.js,%R,%"todoの変更"%{%*script(%0Script\gettitle.js,%R)%}%: *stop %K"@\E" } _Command = { ; ユーザコマンド・関数 todo = *script %0Script\settitle.js,D:\Temp\todo,%*arg(1) }
やり方
*todo メモの内容
でメモを作成。todoフォルダでShift+Kを押すと表示される一行編集に入力してもいい。
todoフォルダでhowmファイルにカーソルをあわせ、Shift+Eを押すとタイトルを変更できる。
追記 2021-01-28
*todo の引数がなければtodoフォルダを開く設定は以下のようになる。
_Command = { ; ユーザコマンド・関数 todo = *ifmatch !0,0%*arg(1) %: *script %0Script\settitle.js,C:\Users\tukasa\Dropbox\todo,%*arg(1) %: *stop *execute C,*jumppath "C:\Users\tukasa\Dropbox\todo" %: *focus C }
0 件のコメント:
コメントを投稿