nautilus notes

最近は主にObsidianのこと

Obsidianのユニークノートクリエイター プレフィックスフォーマット決定版

obsidianにはユニークノートクリエイターといって、ノート名が重複しないようにいい感じにprefixをつけてくれる機能がある。
obsidianは同一Vault内でのノート名の重複を認めていないので、これは大変便利だ*1

prefixのフォーマットは自分で指定できるのだけど、こういうとこで案外悩む人は多いと思う。僕も10分くらい悩んでしまった。今日は参考のために、僕が「これが一番美しい」と思っているprefixのフォーマットについて書いておくことにする。

プレフィックスフォーマット決定版

早速だがこれだ。

これが決定版ッ!

設定の、ユニークノートクリエイター>ユニークなプレフィックスのフォーマットに「YYYYMMDD(HHmm)_」と書く。
こうすることで、例えば2023年の1月31日21時56分にノートを新規作成すると、20230131(2156)_とファイル名の先頭に自動で付く。
個人的にはこれが一番よいと思う。

このフォーマットに決めた理由

ユニーク云々を考えなくても作成した日付は入れたほうが何かと便利だろうと思ったので、YYYYMMDDは決めていた。あまりファイル名を長くしたくないので、余計な区切り文字もナシだ。

ファイル名が長くなるにも関わらずその上でさらに(HHmm)を入れたのは以下の記事を見たからだ。
zenn.dev

本当にありがたい記事で、たとえばYYYYMMDDとしたとき、2023年1月31日に複数のファイルを作成するとどのように番号が振られるのか?を検証している。
この記事の例としては出てきていないが、prefixをYYYYMMDDとして試してみると、20230131の次は20230201となった(Moment.jsというライブラリの挙動に従うらしいので、要はそういうことだろう)。
これだと、ユニークなprefixを振るという目的は達成されているが、作成した日付をファイル名に残しておきたいという目的は達成されない。

そこで、最後に(HHmm)を付け加えることで変に数字がインクリメントされるのを防いだ。流石に同じ分に複数のファイルを作成することはないと思うし、もし複数作成された場合も、20230131(2156)の次は20230131(2157)となり、1分しかズレないので実用上まったく問題ない。
文字数が増えてもカッコを付けたのは可読性のためだ。20230131は読めても、202301312157は暗号に見える。よって区切り文字が必要だった。

蛇足

ちなみにフォーラムでは上記の挙動について「ユニークノートクリエイターはあくまでユニークなprefixを振るためのもので、作成した時刻情報を残すためのものではない」というようなことをモデレーターが回答している。

よってこの挙動はバグとして認識されているわけではなく、今後もずっと変更されないと思う(それならデフォルトはUUIDとかにしておけばいいのでは?とちょっとだけ思ってしまったけど・・・)。
forum.obsidian.md

*1:僕はCtrl+Nを単なる新規ノート作成ではなく、ユニークノートクリエイターでの新規作成に割り当てている。こうするともっと便利だ