スキップしてメイン コンテンツに移動

ObsidianのdailynoteにToDoを追加する

ObsidianのdailynoteにToDoを追加する

去年のこれくらいの時期にObsidianを始めたのだが、最近になってようやくdailynoteを使うようになった。 そして、そこにToDoを記載しているのだが、これを管理するための環境を整えるのがまーまー面倒だったので、ここにまとめて置く。

コミュニティプラグインのインストール

以下コミュニティのプラグインをインストールする必用がある

  • Tasks
  • Dataview
  • Templater

Dataviewプラグインの設定

以下の設定をONにする。

  • Enable inline queries
  • Enable JavaScript queries
  • Enable inline JavaScript queries

Templaterプラグインの設定

以下の設定をONにする

  • Trigger Templater on new file creation

templateを作る

templateディレクトリを作り、その中にdailyというファイルを追加する。これの名前は何でも良い。 中身を以下にする。

# ToDo

<%*
// 1. Dataview APIの取得(待機処理付き)
const dv = app.plugins.plugins.dataview?.api;

if (!dv) {
    tR += "> [!CAUTION] Dataview APIが見つかりません。設定を確認してください。";
    return;
}

// 2. 設定:過去何日まで遡るか
const daysToLookBack = 7;
let allIncompleteTasks = [];

// 3. ループ処理
for (let i = 1; i <= daysToLookBack; i++) {
    // 自身の日付フォーマットに合わせてここを修正(例: "YYYY-MM-DD")
    const targetDateStr = tp.date.now("YYYY-MM-DD", -i);
    const page = dv.page(targetDateStr);

    if (page && page.file && page.file.tasks) {
        // 未完了タスクを抽出
        const tasks = page.file.tasks.filter(t => !t.completed);
        if (tasks.length > 0) {
            // タスクのテキスト部分のみを配列に追加
            allIncompleteTasks.push(...tasks.values.map(t => t.text));
        }
    }
}

// 4. 重複の削除
const uniqueTasks = [...new Set(allIncompleteTasks)];

// 5. 出力処理
if (uniqueTasks.length > 0) {
    tR += "### 前日からの引き継ぎ\n";
    uniqueTasks.forEach(taskText => {
        // 改行コードのミスを防ぐため、テンプレートリテラルではなく通常の結合を使用
        tR += "- [ ] " + taskText + "\n";
    });
} else {
    tR += "### 前日からの引き継ぎ\n_未完了のタスクはありませんでした_\n";
}
%>
# 振り返り

#dailynote 

コアプラグイン > デイリーノートの設定を変更する

以下の設定をする

  • 新規ファイルの場所にdailynoteを指定する(dailynoteディレクトリを作っておく)
  • テンプレートファイルの場所にtemplate/dailyを指定する。ここには、先程のtemplateで作成したファイル名を指定する

オプション > コアプラグインの設定を変更する

ここにデイリーノートという設定項目があり、デイリーノートを開きます。ファイルが存在しない場合には作成します。 という項目をチェックする。

まとめ

この設定をする事で、Obsidianを起動するたびにデイリーノートが開かれるようになる&ToDoで残したものを引き継いでくれる。ちなみに、このToDoを引き継ぐスクリプトはOpenAIに吐き出させたので、ブログにまとめなくても生成AIが良きに払ってくれる。便利だけれど、同時に怖いなと思っている(小並感)

コメント