- Periodic Notes
- Templater
- Silhouette
- Ctrl+T
- Periodic Notes : Open daily Note
を参考に、 dailyNoteTemplate.md
を作成しました。
---
aliases: [{{date:YYYY/MM/DD}},{{date:YYYY年MM月DD日}},{{date:YYYY-MM-DD}},{{date:YYYY年M月D日}},{{date:YYYY-M-D}}]
tags: #{{date:YYYY/MM/DD}} #{{date:YYYY-MM-DD}} #{{date:YYYYMMDD}} #{{date:YYYY年MM月DD日}} #{{date:YYYY年M月D日}} #{{date:YYYY-M-D}} #daily-note
---
# {{date:YYYY年MM月DD日}}
## Daily TODO
<%*
async function asyncSleep(ms) {
return new Promise((resolve) => { setTimeout(() => { resolve(); }, ms); });
}
await asyncSleep(50) // waitを入れないとDaily Noteのタイトルから日付を読み込めない
app.commands.executeCommandById("obsidian-silhouette:insert-tasks")
%>
## 日記
この状態でCtrl+T押下にてデイリーノートを生成しました。
結果は以下の通りです。
- [ ] 洗濯物取り込み
- [ ] 洗濯物投入
- [ ] 風呂
- [ ] 洗濯物たたみ
- [ ] 洗濯機フィルタ掃除---
aliases: [2023/06/09,2023年06月09日,2023-06-09,2023年6月9日,2023-6-9]
tags: #2023/06/09 #2023-06-09 #20230609 #2023年06月09日 #2023年6月9日 #2023-6-9 #daily-note
---
# 2023年06月09日
## Daily TODO
## 日記
この通り、おかしな並び順になります。
おそらく以下のように処理されているのかと推測しています。
- (Ctrl+T押下により)ファイル名のみ、中身は空のデイリーノートが作成される
Silhouette:Insert
が実行される- テンプレートのmarkdown部分が展開される
以下の通りです。
---
aliases: [2023/06/09,2023年06月09日,2023-06-09,2023年6月9日,2023-6-9]
tags: #2023/06/09 #2023-06-09 #20230609 #2023年06月09日 #2023年6月9日 #2023-6-9 #daily-note
---
# 2023年06月09日
## Daily TODO
- [ ] 洗濯物取り込み
- [ ] 洗濯物投入
- [ ] 風呂
- [ ] 洗濯物たたみ
- [ ] 洗濯機フィルタ掃除
## 日記
Daily Todo 以下に、 Silhouette:Insert
の実行結果が入る形となります。
どうすれば実現できるでしょうか?
@mimikun
結論
dailyNoteTemplate.md
を以下のようにしてTemplaterの
Automatic jump to cursor
を有効にすれば期待通りの結果となります。※
Automatic jump to cursor
を有効にしたくない事情がある場合は回避策もありますので言ってください補足
これは違うと思います。私の見解では以下のように動作していると思います。
dailyNoteTemplate.md
のテンプレートに従い、Daily Noteデイリーノートが作成されるdailyNoteTemplate.md
に日付が埋まった状態<%* %>
で囲まれたJavaScriptの処理、つまり 0.05秒後にSilhouette:Insert
が実行される (戻り値はファイル本体には挿入されない)問題はカーソル位置だけなので
<% tp.file.cursor() %>
でカーソル位置を指定してあげれば、2が実行されるまでの0.05秒間にカーソルが移動し、期待通りの位置にタスクが挿入されます。※
Automatic jump to cursor
を有効にしたくない場合はapp
を使った処理で行番号を指定してカーソルを移動することになると思います