この方法はやめました。

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>から呼び出すしかない