標準の[[Markdown]]リンク形式であり、ツールを問わず安定して動作しそうなこと。リネームの機会はそこまで多くないこと。[[blink.cmp (Neovim)|blink.cmp]]や画像ファイルを開くアクションとの相性などを考慮し、メリット・デメリット共に優れていると判断した。 ## 経緯 [[obsidian.nvim]]を使って[[MkDocs]]のドキュメントを作成・編集することがある。その際は以下の記事で紹介した方法を利用している。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" /> <span class="link-card-v2-site-name">Minerva</span> </div> <div class="link-card-v2-title"> 📘MkDocsでObsidianと互換性の高いドキュメントベースを実現する </div> <div class="link-card-v2-content">Obsidianやobsidian.nvimと高い互換性を持ち、Markdown・Python・YAML・ターミナル操作の知識がある方向けに、MkDocsとMaterial for MkDocsを使った無料・クローズドなドキュメントサイト構築方法を詳しく解説します。プラグイン設定やカスタマイズ手順も紹介しています。</div> <img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/%F0%9F%93%98Articles/attachments/2025-02-23.webp" /> <a data-href="📘MkDocsでObsidianと互換性の高いドキュメントベースを実現する" class="internal-link"></a> </div> %%[[📘MkDocsでObsidianと互換性の高いドキュメントベースを実現する]]%% この場合、[[Markdown]]の画像表示には3通りの方法がある。 | 方法 | 具体例 | | ----------- | ------------------------------------ | | Markdownリンク | `![alt](image path)` | | Wikiリンク | `![[image path\|alt]]` | | HTMLリンク | `<img src="image path" alt="alt" />` | HTMLリンクはやむを得ないときのみ利用するとして、MarkdownリンクとWikiリンクのどちらを使うべきかという選択肢が残る。 ## 提案内容 [[MkDocs]]の画像表示は[[Markdown]]リンクを使う。 ## 結論に至るまでの過程 MarkdownリンクとWikiリンクの代表的な比較は以下のとおり。 | 項目 | Markdownリンク | Wikiリンク | | --------------------------------- | ------------ | ------------- | | [[obsidian.nvim]] > picker から挿入 | pathの補填が必要 | **ほぼそのまま使える** | | [[blink.cmp (Neovim)\|blink.cmp]] | **補完(相対パス)** | 使えない | | [[snacks.image]]プレビュー | **対応(相対パス)** | **対応** | | 画像ファイルへのジャンプ | **できる** | できない | | 後からrename | できない | できない | どちらも全ての要件は満たさないが、[[MkDocs]]に画像を挿入するパターンは以下2通りであることを考慮することが大事。 1. 撮影したスクリーンショット画像の挿入 2. 画像ファイルをプロジェクト配下に移動してそれを挿入 1の場合、リンクは挿入済であるため、**後から画像に直接ジャンプできること** の重要度が増す。よって、Markdownリンクが有利。 2の場合は1に加えて、移動した画像ファイルをスムーズに挿入できること という要件が追加される。ファイル名が恣意的なものでなければ、[[snacks.image]]のプレビュー機能が便利であるので、Wikiリンクが少し有利に見えるかもしれない。しかし、[[snacks.image]]でインラインプレビューできること、画像のファイル名の大体わかっていることからすると、[[blink.cmp (Neovim)|blink.cmp]]で挿入したあとにインライン画像を確認でも十分。 ### Markdownファイルへのリンクと画像ファイルへのリンクの比較 [[Markdown]]ファイルへのWikiリンクと、画像ファイルへのWikiリンクでは、以下のような特徴がある。 | 特徴 | Markdownファイル | 画像ファイル | | ---------- | ------------ | --------- | | 登場回数 | 多い | 少ない | | リネームの機会 | 多い | ほとんどない | | ツールごとの仕様差分 | ほとんどない | 異なる可能性がある | 上記から、[[Markdown]]ファイルへのリンクに比べ、画像ファイルをWIkiリンクにするメリットはそこまで大きくない。むしろ、非対応のケースに追われるリスクすらある。 ### 補足 - [[obsidian.nvim]] > picker からの挿入は、[[obsidian.nvim]]に手を入れれば実現できる気がする - Markdownリンクは **後からrenameできない** としたが、[[Markdown]]の[[LSP]]を使えばおそらくできる (私の環境では[[Markdown]]の[[LSP]]は無効化しているためそう書いた)