DDG - Develop a Digital Garden

develop a digital garden

【Obsidian+Alfred】1週間分のリンクを自動生成するスニペット

こんにちは、shootaceanです。

Obsidianでひとりスプリントを回すようにしていて、 スプリント用ノートに「各デイリーノートへのリンク」を書くようにしています。

その際に利用しているAlfredのスニペット1を紹介します。

なぜAlfredを使うのか?

Obsidianでは、現在日時はテンプレート機能で取得できるのですが、日付の計算が行えません。 なので、Alfredのスニペット機能[^1]を利用して運用しています。

Daily Notes and calculated Date - Help - Obsidian Forum

Alfredスニペット

こちらが実際のAlfredスニペットになります。

[[{datetime:yyyy-MM-dd_eeee}]]
[[{datetime +1D:yyyy-MM-dd_eeee}]]
[[{datetime +2D:yyyy-MM-dd_eeee}]]
[[{datetime +3D:yyyy-MM-dd_eeee}]]
[[{datetime +4D:yyyy-MM-dd_eeee}]]
[[{datetime +5D:yyyy-MM-dd_eeee}]]
[[{datetime +6D:yyyy-MM-dd_eeee}]]

Image from Gyazo

これを実際に貼り付けると、こんな感じに展開されます。

![[2021-06-07_月曜日]]
![[2021-06-08_火曜日]]
![[2021-06-09_水曜日]]
![[2021-06-10_木曜日]]
![[2021-06-11_金曜日]]
![[2021-06-12_土曜日]]
![[2021-06-13_日曜日]]

日付フォーマットと計算式の注意

[[{datetime:yyyy-MM-dd_eeee +1D}]]

Alfredスニペットの日付フォーマットと計算の指定方法ですが、 上記のようにフォーマットの後に計算式を書いてしまうと、「+1D」の部分が日付フォーマット指定として扱われてしまいます。

なので、以下のように先に計算式を書いてから日付フォーマットを指定するようにしてください。

[[{datetime +1D:yyyy-MM-dd_eeee}]]

曜日部分を英語にできないのか?

上記の展開例を見て思った方もいらっしゃると思うのですが、 [[2021-06-07_月曜日]]のように曜日が日本語になっています。

Obsidianのテンプレート機能での日付フォーマットは曜日が英語しか対応していません。 なので、Alfred側の曜日を日本語に対応できないか!?と調べてみました。

結論、私の環境ではできませんでした…

Alfredスニペットで展開される日付はMacのシステム設定を利用しているので、 Alredの設定ではなくMacの設定を変更しないといけないです。

こちらの参考記事2で紹介されているコマンドを叩くと、Mac側の設定は変更されるのですが、Alfredは変わらず日本語の曜日で展開されてしまいます。

$ defaults write -g AppleLocale en\_JP

どなたか方法を御存知の方いらっしゃれば教えてください!

参考


  1. スニペット機能はPower Packを購入しないと利用できないので、ご注意ください。

  2. 曜日や月を英語表記にするには? - Apple コミュニティ