フォルダ移動後もMarkdown日記の画像リンクを壊さない方法
Markdown日記を移動した際にローカルの写真リンクが切れるのを防ぐには、画像を日記フォルダ内に保存し、それを使用するノートからの相対パスで各画像にリンクします。その上で、内部レイアウトを保持したままフォルダ全体を移動またはコピーし、普段使用しているMarkdownビューアで移動したノートを開いて、サンプルの画像が正しく表示されるか確認します。あるエディタで機能するパスであっても、すべてのビューアで同じように解決されるとは限りません。
画像の相対パスとは何か
Markdownの画像構文は、感嘆符、角括弧内の代替テキスト、丸括弧内の画像リンク先を使用します。たとえば、 は、Markdownファイルからの相対的な位置を記述することで画像を指し示します。CommonMarkの仕様では train.jpg のような画像指定が例示されており、Markdown Guideにも同様の基本構文が記載されています。CommonMark: Images Markdown Guide: Basic Syntax
相対パスは、特定のコンピュータ上の絶対的な場所を指定するのではなくファイル間の関係性を記述するため、日記を移動する際に便利です。その関係性を変えずにノートと画像が一緒に移動する限り、パスは引き続き同じ画像を指し示します。/Users/sam/Pictures/blue-mug.jpg や C:\\Users\\Sam\\Pictures\\blue-mug.jpg のような絶対パスは特定のマシン上の場所を指しているため、日記を別のドライブやコンピュータにコピーすると無効になる可能性があります。
一緒に移動できるフォルダ構成を選ぶ
年ごとにノートが整理されている日記の場合、実用的なレイアウトの1つとして、年別フォルダの並びに共有画像フォルダを配置する方法があります:
text Diary/ ├── images/ │ ├── blue-mug.jpg │ └── garden-bed.png ├── 2025/ │ └── 2025-04-12.md └── 2026/ └── 2026-09-30.md
Diary/2026/2026-09-30.md から blue-mug.jpg へのパスは ../images/blue-mug.jpg になります。つまり、2026 から1つ上の階層に上がり、images に入ります。Markdownの記述は次のようになります:
md 
各年の画像がその年だけに属する場合は、隣接するサブフォルダを作成する構成も分かりやすいです:
text Diary/ ├── 2026/ │ ├── images/ │ │ └── garden-bed.png │ └── 2026-09-30.md
この場合、ノート内では  を使用できます。これらの例は、表示対象のノートの場所によって変わります。../ の数を推測するのではなく、ノートと画像の間のディレクトリ階層をしっかり数えてください。
ノートの視点からリンクを書く
Markdownファイルがあるフォルダから出発し、ディレクトリツリーをたどって画像に向かいます。photo.jpg のようにファイル名のみの指定は、画像がノートと同じフォルダにあることを意味します。images/photo.jpg は、ノートと同じ階層にある images サブフォルダ内にあることを示します。../images/photo.jpg は、最初に1階層上がることを意味します。このルールに従えば、ビューアで試す前にリンクを具体的に組み立てることができます。
ファイル名は可能な限りシンプルにしておきます(例:2026-09-30-garden.jpg)。多くのファイルシステムでは正確なスペルや大文字・小文字が区別されるため、入力ミスや大文字小文字の不一致だけで画像が表示されなくなることがあります。また、スペースや記号もMarkdownアプリケーションによって扱いが異なる場合があります。Markdown Guideでは、URL内のスペースの解釈はアプリケーションによって異なると指摘されており、互換性のために %20 を使うことが推奨されています。画像名にスペースが含まれる場合は、シンプルなファイル名にすることでその不安を回避できます。そうでない場合は、ビューアがサポートしているエンコードまたはクォート形式を使用し、実際に表示を確認してください。Markdown Guide: Link Best Practices
内部構造を変えずに日記を移動する
日記フォルダは1つのまとまりとして扱ってください。ノートだけを移動したり画像を置き去りにしたりせず、.md ノートと画像の両方を含む親フォルダ(Diary/)ごとコピーまたは移動します。内部の出発点と目的地が同じ関係を保っているため、フォルダ自体の外部の場所が変わっても相対パスはそのまま維持されます。
日記の内部でフォルダを再編成する場合は、影響を受けるノートのリンクを再計算してください。たとえば、ノートを Diary/2026/ から Diary/2026/trips/ に移動すると、Diary/images/ にアクセスするために必要なパスが変わり、../../images/blue-mug.jpg が必要になります。相対リンクはツリー全体の場所移動には対応しますが、そのツリーの一部だけを並べ替えた場合に自動で補正されるわけではありません。
普段使うビューアで実際の移動をテストする
新しいフォルダ構成に本格的に移行する前に、元に戻せる小さなテストを実施してください:
ローカル画像が少なくとも1つ含まれるノートを選び、普段使っているMarkdownビューアでその画像が現在表示されていることを確認します。
日記フォルダ全体を、別の通常のフォルダやリムーバブルドライブなど、別の場所にコピーします。すべてのサブフォルダとファイル名をそのまま維持してください。
コピーしたノートを新しい場所から同じビューアで開きます。Markdownソースに意図したテキストが含まれているだけでなく、画像が実際に表示されることを確認します。
異なる階層にあるノート内の画像を1、2枚開いて確認します。特に ../ を使用しているノートは重点的にチェックし、同一フォルダ内の例だけでなく検証します。
画像が表示されない場合は、指定したリンク先と実際のフォルダツリーを比較します。起点となるノートのフォルダ、各 ../、すべてのサブフォルダ名、ファイル名のスペル、拡張子、大文字・小文字を確認してください。パスを修正し、移動したコピーで再度確認を行います。
これは実践的なテストであり、あらゆるアプリで共通して保証されるものではありません。標準のMarkdownでは画像の構文が定義されていますが、ビューアによって独自の仕様が追加されることがあります。たとえばObsidianでは、Markdownの画像構文に加えて独自の埋め込み構文(![[image.jpg]])が用意されており、設定で相対パス、保管庫(Vault)のルート、最短パスのリンク形式を個別に指定できます。日記を保管庫ベースのアプリで開く場合は、標準的なMarkdownの指定先を使っているか、それともアプリ固有の埋め込みやリンク設定を使っているかを確認してください。Obsidian Help: Embed files Obsidian Help: Settings
移動後に画像リンクが切れた場合の対処法
画像が表示されなくなった場合は、まずビューアがノートのどちらのコピーを開いているかを確認してください。移動後のものが表示されていると思い込み、元のノートを調べてしまっているケースがよくあります。次に、そのノートのディレクトリから手動で相対パスをたどり、指定した名前の画像が移動先に存在することを確認します。
問題を素早く特定するには、パスとフォルダツリーを一時的に比較してみるのが有効です。2026-09-30.md が Diary/2026/ にある場合、../images/blue-mug.jpg は Diary/images/blue-mug.jpg として解決される必要があります。パスが目的のフォルダに届いているのにファイル名が Blue-Mug.JPG になっている場合は、参照側のファイル名か実際のファイル名のどちらかを更新して、完全に一致させてください。ファイルブラウザでは画像が開けるのにノート内でレンダリングされない場合、そのビューアがローカルのMarkdownパスをどのように処理しているかが原因である可能性があります。ドキュメントを確認するか、シンプルなMarkdown画像パスでテストしてみてください。
ポータビリティのためのシンプルなルール
日記のローカル画像は日記の最上位フォルダ内に配置し、各画像パスはそれを表示するノートからの相対パスで記述し、日記を移動する際はフォルダ構造をそのまま維持します。最後に、移動したコピーを実際のビューアで開き、代表的な画像が表示されることを確認します。この手順を踏むことで、ファイル同士の関係性とアプリの動作を同時にチェックでき、日常的に安心して使えるポータブルな環境が実現します。
