## 背景
長らく[[Obsidian]]はプライベートの[[PKM]]のみに使ってきたが、プライベートのタスク管理や仕事での利用を開始してみようと思った。きっかけはいくつか。
### 商用ライセンスが必須ではなくなった
#2025/02/21 に今までは必要だった商用ライセンスが必須ではなくなった。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://obsidian.md/favicon.svg" />
<span class="link-card-v2-site-name">Obsidian</span>
</div>
<div class="link-card-v2-title">
Obsidian is now free for work
</div>
<div class="link-card-v2-content">
Starting today, the Obsidian Commercial license is optional. Anyone can use Obsidian for work, for free. Explore ...
</div>
<img class="link-card-v2-image" src="https://obsidian.md/images/blog/free-for-work.png" />
<a href="https://obsidian.md/blog/free-for-work/"></a>
</div>
これまでは申請が通らなかったが、それが必要なくなったというのは非常に大きい。
信頼性に関して言えば、[[Amazon]]で10000以上の商用ライセンスが利用されているのを見れば、それなりの実績と言えるだろう。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://obsidian.md/favicon.svg" />
<span class="link-card-v2-site-name">Obsidian</span>
</div>
<div class="link-card-v2-title">
Meet the teams that trust Obsidian
</div>
<div class="link-card-v2-content">
Organizations that demand the highest security trust Obsidian. Their teams rely on Obsidian to think more effect ...
</div>
<img class="link-card-v2-image" src="https://obsidian.md/images/blog/free-for-work.png" />
<a href="https://obsidian.md/enterprise/"></a>
</div>
### [[Obsidian]]単体の利用であれば禁止ではない旨が共有された
[[Slack]]の全社員が閲覧可能なchannelで上記のような連絡があった。これにより、[[VSCode]]などと同様に、業務で利用する選択肢の1つとして認められたということになる。
### 最近macOSに移行してからObsidianが捗る
[[Windows]]のときと違ってFileIOをはじめとしたパフォーマンスが劇的に上がったので、[[Neovim]]を使うメリットが小さくなった。特に以下2点は大きい。
- [[ripgrep]]の高速化
- [[Windows]]ではPC起動後の初回実行のみ、検索に30秒~1分かかる
- 2回目以降は1秒かからないことが多い
- ただし再起動しなくても何かの条件を堺にもとに戻ること多数
- [[macOS]]では初回実行にかかわらず長くても2秒程度で検索が終わる
- **[[🦉Another Quick Switcher]]の[[Grep command]]利用頻度が激増**
- [[Electron]]が重くならない
- [[Windows]]だと[[Electron]]アプリケーションをある程度起動しているとだんだん重くなるという謎の事象があった
- [[macOS]]だとそれがないので、**[[Obsidian]]を常に起動しっぱなしにできる**
- **[[Vimモード (Obsidian)|Vimモード]]が突如無効化される不具合に遭遇しなくなった**
[[Windows]]ではホストだとFileIOや他の使い勝手がボトルネックに、[[WSL]]だと[[GUI]]がボトルネックになるというどっちも修羅の道だった。
### AQSが急激にパワーアップしている
最近、[[🦉Another Quick Switcher]]の開発速度やリリース頻度が上がり、かなりパワーアップしつつある。この流れは今後もキープできそう。
[[obsidian.nvim]]ではどうしても[[🦉Various Complements]]や[[🦉Another Quick Switcher]]の代替はできないので、この2つを利用できるのは非常に大きなアドバンテージ。また[[🦉Carnelian]]のように、独立した個人のプラグインシステムを提供しやすいというのもある。[[Neovim]]でもできるが、[[Lua]]より[[TypeScript]]の方が個人的には慣れていて書きやすい。
### Canvasがマイブームになりそう
最近、複雑な関連について整理する機会が増えている。[[Windows]]に比べて[[macOS]]ではトラックパッドやディスプレイの性能がいいので、[[Canvas (Obsidian)|Canvas]]を前より使いたいと思うことが増えた。
## 移行対象ユースケース
今、仕事で利用している [[Neovim]] + [[obsidian.nvim]] を使ったユースケースについて整理する。主に以下3点。
- タスク管理
- プロダクトドキュメンテーション管理
- PKM
> [!note]
> [[Markdown]]を使っているなどの細かい話は省略する。
### タスク管理
| ツール | 要件 | 代替手段 | ステータス |
| ---------------------- | --------------- | --------------------- | ------------ |
| [[🦉Silhouette.nvim]] | 繰り返しタスクの管理 | [[🦉Silhouette]] (本家) | 利用可 |
| [[🦉Silhouette.nvim]] | タスク実行時間の計測 | [[🦉Silhouette]] (本家) | **要改修**[^6] |
| [[🦉ghostwriter.nvim]] | リアルタイム状況の共有 | 不要 | 不要 |
| [[🦉ghostwriter.nvim]] | [[Slack]]形式への変換 | [[🦉Carnelian]]など | **要実装?**[^1] |
| [[Deno]] | 日報の自動生成 (時間など) | [[🦉Carnelian]]など | **要実装**[^2] |
### プロダクトドキュメンテーション管理
[[MkDocs]]互換性を[[Obsidian]]上でどれだけ保証できるかが一つの鍵。**他2つを先に移行してから検討でいい気がする。**
#### 対応できないもの
- 埋め込み `--8<--`
- [ ] [[Obsidian]]の埋め込みと同じ形式にできなければ厳しそう
- タブ
- [ ] プラグインを使えばできなくはないけど、[[MkDocs]]と同じフォーマットはきつそう
#### Obsidianにするメリット
- 補完が圧倒的に楽 ([[🦉Various Complements]])
- 検索が圧倒的に楽 ([[🦉Another Quick Switcher]])
#### Obsidianにするデメリット
- 複数起動する必要がある
- [[Vault]]が異なるため
- パフォーマンスが許せば問題ないがボトルネックになるかも
- 設定の同期が面倒かも
### PKM
[[#プロダクトドキュメンテーション管理]]とほぼ同じなので割愛。ただし、[[MkDocs]]を使う必要がないため、[[#対応できないもの]]は出現しないので、そこの懸念はない。
## 移行対象物
### Vault
[[obsidian.nvim]]で使っている `pkm` [[Vault]]をそのまま使う。
### [[コアプラグイン]]
以下のプラグインのみ利用する。
- [[Canvas (Obsidian)|Canvas]]
- [[File recovery]]
- [[File explorer (Obsidian)|File explorer]]
### [[コミュニティプラグイン]]
基本的には移行する。
| プラグイン名 | 移行するか? | 備考 |
| --------------------------------------------------------- | ------- | -------------------------- |
| [[🦉Another Quick Switcher]] | する | |
| [[BRAT]] | **しない** | [[🦉Silhouette]]はビルドする[^5] |
| [[Calendar (Obsidian)\|Calendar]] | する | |
| [[🦉Carnelian]] | する | 設定などは要相談 |
| [[Hot Reload (Obsidian)\|Hot Reload]] | する | |
| [[Jump to link]] | する | |
| [[Limelight]] | する | |
| [[🦉Mobile First Daily Interface]] | **しない** | |
| [[Periodic Notes]] | する | |
| [[🦉Shukuchi]] | する | |
| [[🦉Silhouette]] | する | |
| [[🦉Various Complements]] | する | `dict` も移行 |
| [[vim-highlightedyank]] | する | |
| [[Vimrc Support Plugin (Obsidian)\|Vimrc Support Plugin]] | する | `obsidian.vimrc` も移行 |
> [!note]
> 設定移行については別セクションを設ける
### CSS
[[Minerva]]の[[CSS]]をそのまま使う。[[Obsidian Publish]]に関するものは不要だが、あっても害にはならないし、[[Reading view]]で使うと思う。
## [[🦉Carnelian]]について
### 利用コマンド
| コマンド名 | 対応 |
| ----------------------------------- | ---- |
| Create an Article | - |
| Create Prime note | - |
| Create Hub note | - |
| Create Activity note | O |
| Create Report note | - |
| Create Troubleshooting notes | O |
| Create MIN ADR | - |
| Create VIM ADR | - |
| Create PRO ADR | - |
| Create OBS ADR | - |
| Create TDQ | - |
| Create Obsidian逆引きレシピ | - |
| Summarize description | - |
| Add permalink property | - |
| Paste clipboard as WebP | O |
| Paste clipboard as AVIF | O |
| Paste URL to site link | O |
| Copy active file full path | O |
| Copy url property | O |
| Copy Minerva URL | - |
| Fix link | O |
| Insert site card | O |
| Paste site card | O |
| Insert note card | O |
| Transform to v2 OGP card | - |
| Sort selection | O |
| Format table | O |
| Strip links and decorations | O |
| Move to next inspection | O |
| Move to previous inspection | O |
| Insert new notes to the weekly note | - |
| Insert Bluesky posts to weekly note | - |
| Add property suitably | O |
| Add description property | - |
| Add tags property | - |
| Add url property | - |
| Toggle editor length | O |
| Toggle Live preview | O |
| Clean old daily notes | O |
| Update change log | O |
| Open property URL | O |
| Show another command palette | O |
| Insert MOC | O |
| Transform MOC | - |
### 複数環境対応の基本設計
意外と特殊対応なしでいけそうな気がする...。
## 新たな付加価値
[[🦉Various Complements]]と[[🦉Another Quick Switcher]]の付加価値は多すぎるので省略。それ以外について。
| 価値 | 関連ツール | 必要な対応 |
| ------------------------------------------------------- | ----------------- | ------------------------------ |
| auto lint | [[🦉Carnelian]] | Lint定義の用意 |
| auto format | [[🦉Carnelian]] | [[🦉MKMS]]が流用できればなし |
| [[未解決リンク (Obsidian)\|未解決リンク]]の可視性アップ | | |
| 画像のインライン表示[^3] | | |
| [[Confluence]]変換 | [[🦉Carnelian]] | |
| 箇条書きが見やすくなる | [[CSS]][^4] | |
| AI要約 (やりたければ) | [[🦉Carnelian]] | API接続情報など |
## 悪くなる体験
| 体験 | コメント |
| ---------------------------------------------- | ----------------------------------- |
| テーブル編集 | ここは割り切り |
| ウィンドウ分割の自由度 | 気にしすぎるレベルでは無い気がする |
| 複数起動によるパフォーマンス低下 | これは要検討 |
| ([[Neovim]]と比べて) エディタ内のVimパワー低下 | そこまで求められていない気がする... |
| undo/redo ロケーションリスト | 家では使っているので耐えられるはず |
[^1]: [[Slack]]への変換はそもそも不要かもしれない...
[^2]: [[Deno]]のスクリプトを実行した結果を貼り付けるだけのはず
[^3]: [[snacks.nvim]]より安定してて見やすい
[^4]: [[📗Live PreviewでLogseqのBullet Threadingを使いたい]]
[^5]: [[🦉Carnelian]]みたいなプラグインでビルドするため直接ビルドでいいかなと
[^6]: 計測時間をバッククォートで囲むように変更