ノート
2024-06-09追記: 空行を消したい場合の手法を変更しました。
Templaterのテンプレート
テンプレート使用月の日付を出力するTemplater1のテンプレートです。
<%*
const day = new moment(tp.date.now()).startOf('month')
const end = day.clone().add(day.daysInMonth(), 'days')
for (; day.diff(end, 'days') < 0; day.add(1, 'days')) { %>
<% day.format("YYYY-MM-DD") %>
<%* } %>
- 定数
day
: 出力する日付を扱います(2024年2月の場合:2024-02-01 00:00:00
)- 初期化時にstartOfを使用して、テンプレートを作成した日時の月初情報を取得しています
- 定数
end
: 来月の月初情報を扱います(2024年2月の場合:2024-03-01 00:00:00
)- cloneを使用して
day
を複製しています - daysInMonthで取得した当月の日数を加算しています
- cloneを使用して
- forループで
day
を一日ずつ加算し、end
を超えるまで<% day.format("YYYY-MM-DD") %>
を出力します- 出力部分をカスタマイズして、日付の部分を見出しやリンクにしたり、日付ごとに同じ内容を出力させたりできます
空行を消したい場合
forループで使用しているTemplaterのコマンド終了タグ %>
の位置を調節する必要があります。
改行が入る部分のTemplaterのコマンド終了タグを -%>
とすることで、改行を削除できます。2
<%*
const day = new moment(tp.date.now()).startOf('month')
const end = day.clone().add(day.daysInMonth(), 'days')
for (; day.diff(end, 'days') < 0; day.add(1, 'days')) { -%> // ←この部分
<% day.format("YYYY-MM-DD") %>
<%* } %>
Monthly NotesでTemplaterのテンプレートを使用したい場合
Monthly Notesで使用するテンプレートにTemplaterのテンプレートを設定した上で、Templater設定の Trigger Templater on new file creation
を有効にします。
この設定はMonthly Notesに限らず、テンプレートから直接生成されるタイプのノートに適用されます。
-
ノートアプリObsidianで使用可能なテンプレート用コミュニティプラグイン: https://github.com/SilentVoid13/Templater ↩︎