この方法はやめました。
URLにマルチバイト文字を使うとURLエンコードされてくそ長い謎文字列になる
Obsidianでのファイル名をUniqueなIDにして運用する
Zettelkasten的にも悪くない
wikiリンクやサイドバーがUID表示だとなんの記事かわからないのでプラグインでなんとかする
TemplaterでUIDを振る
Unixタイムスタンプを64進数表示してUIDとしてファイル名にする
const digit = "0123456789abcdef"
+ "ghijklmnopqrstuv"
+ "wxyzABCDEFGHIJKL"
+ "MNOPQRSTUVWXYZ-_"
const to64 = x => x.toString(2)
.split(/(?=(?:.{6})+(?!.))/g)
.map(v => digit[parseInt(v, 2)])
.join("")
const uid = to64(parseInt(tp.date.now("X")));
await tp.file.rename(uid);
frontmatterのタイトルはとりあえず初期値tp.file.title
を入れておく
wikiリンクを飛んできた場合はそのタイトルが入り、新規作成したときはUntitledが入る
---
uid: <% uid %>
title: <% tp.file.title %>
created: <% tp.date.now("YYYY-MM-DD") %>
updated:
---
同様にH1も初期化
# <% tp.file.title %>
Front Matter Titleで表示を直す
H1をタイトルとみなして、サイドバーやwikiリンクを表示させる
Common main template
→#heading
File Title Updaterでfrontmatterのtitleを自動設定する
Quartzにタイトルとして扱ってもらうために、
frontmatterのtitleをH1で更新する
Default title source
→first_heading
Sync mode
→Frontmatter + Heading
保存をHookしてくれたりはしないっぽい
ホットキーを設定するか、<Ctrl-P>
から呼び出すしかない