ファイルからリストを作成して、リピートタスクを呼び出す〜1Writerカスタマイズ④〜
- テキストを「1行ごとのリスト」ととらえ、削除と移動を可能に〜1Writerカスタマイズ①〜
- カット・ペーストを可能にして、ダイナミックな移動を可能に〜1Writerカスタマイズ②〜
- 別ファイルに記述されたデイリーテンプレートを呼び出す〜1Writerカスタマイズ③〜
「1Writerカスタマイズ」の①〜③にて書いたアクションを作成した段階で、たすくまを使うのをやめ、1Writer(Obsidian)に完全移行しました。
1Writer – Markdown Text Editor
カテゴリ: 仕事効率化, ユーティリティ
Taskuma —TaskChute for iPhone
カテゴリ: 仕事効率化, ライフスタイル
デイリーのテンプレートと、行ごとの削除と移動があれば、一つ一つの行動を記録しながら過ごすことは、けっこう簡単になります。
あとは、予定になかった、つまり、デイリーページ上に書き込まれていないリピートタスクを呼び出すことができれば、終了予定の算出だけがないタスクシュートと呼べるようになるでしょう。
ということで、「リピートタスクの呼び出しできるようにならないか」と考えました。
1Writerのjavascriptアクションの数々には例が載っています。試しに「ui.list()」の例を実行してみると、項目がリスト表示され、そのリストから好きなものをタップすると、そのリストの内容が文中に挿入されるものでした。
これは、使えそうです。
そのコードを書き換え、
- リピートタスクの一覧が記述されたファイルを開く
- それをリスト形式に表示する
- 選択された項目をクリップボードにコピーする
というものにしました。
リピートタスクの呼び出し
//アクションを実行したあと、元のファイルに戻るため、今編集中ファイルのフォルダとファイル名を取得
var folder = editor.getFolderPath();
var editingfile = editor.getFileName();
//リピートタスクを記述しているファイルのファイル名
var openfilename = 'ここに一覧を取得したいファイル名を記述.md'
//リピートタスクの一覧が記述されているファイルを開く。フォルダは、そのファイルが保存されているものを指定してください。
editor.openFile('Dropbox/'+openfilename,'edit',call);
function call(){
//開いたファイルに記述されているテキストを取得
var text = editor.getText();
//改行ごとに配列に格納
const listData = text.split('\n');
ui.hudDismiss();
//配列をリストに
ui.list('Repeat', listData, false, selectedValues => {
if (!selectedValues) {
return;
}
const text = selectedValues.join('\n');
if (editor.isClosed()) {
editor.newFile(text);
}else {
//選択した項目をクリップボードにコピー
app.setClipboard('\n' + text);
//はじめに編集中だったファイルを開く
editor.openFile(folder + '/' + editingfile);
}
});
}
アクションを起動した時の動き
アクションを起動するとリストが表示され、そのうち一つを選択すると選択した項目のがクリップボードにコピーされ、元のファイルに戻ってくるので、好きな場所に貼り付けることができます。
リストは、複数選択を可能にもできるので、その場合は
ui.list('Repeat', listData, false, selectedValues
のfalseの部分をtrueに書き換えてください。
まずは、リスト表示したいファイルを作成して、そのファイル名をコード内の「ここに一覧を取得したいファイル名を記述」の部分に書くことでアクションが使えるようになします。
改行を目じるしに、1行1項目でリストに表示するので、リスト表示したいファイルは、そのことを念頭に置いた上で作成していただければと思います。
これまで4回にわたり1Writerの自作アクションについて書いてきました。これにて、「やったことの記録がすこぶる取りやすいリストアプリ」のように、テキストを扱えるようになり、日々、デイリーリストを作成し、1WriterとObsidianで同一のファイルを扱いながら、やったことの記録をとりつつ過ごしています。
まずまず気に入っているので、しばらくはこのまま使い続けようかな、と思います。
では、お読みいただきありがとうございました。