Straypenguins-Tips-Inventory

GitHub Pages + Jekyll: Markdownリンク自動変換挙動まとめ(2025年版)

👉 English Edition is also available HERE

概要

GitHub Pages(Pages)+Jekyllでドキュメントを書く際に

……といった悩みを持つ方は多いのではないでしょうか。

GitHub Pages(デフォルトのJekyll構成)は、jekyll-relative-linksなどの標準プラグインのおかげで、Markdownリンクを自動的に最適化してくれます。本記事では、2025年時点での実験・観察結果をもとに、その挙動や仕組み、ベストプラクティスをまとめます。

📝 注意:
本稿の内容は2025年9月時点の検証・観察に基づいたものです。将来、仕様が変更される可能性があります。

📝 ちなみに jekyll は「ジキル」あるいは「ジクル」と読みます。あの物語「ジキル博士とハイド氏」”Dr. Jekyll and Mr. Hyde” のそれ、そのものです。


GitHub Web/GitHub Pages + Jekyllにおけるリンクの基本挙動

📌 index.md と README.md の優先順位

📌 私の _config.yml

plugins:
  - jekyll-sitemap

_config.ymlはこのようにシンプルです。運用Tipsも参照してください。


1. jekyllにおける3つの主なリンク変換パターンでの挙動

(1)README.mdのあるディレクトリへの相対リンク

(2)README.mdを指す相対リンク

(3)README.mdやindex.md以外の.mdファイルへの相対リンク


GitHub Pagesでは、いくつかのjekyllプラグインがデフォルトで有効化されています(公式ドキュメント)。そこには、以下のようなプラグインが含まれます:

特にキーとなるのが jekyll-relative-links:
Markdown内での.mdファイル間相対リンクを、HTML化の際に自動的に、呼応する.html(あるいはindex.htmlを持つディレクトリ)パスに変換してくれます。
そのおかげで、単に
[Label](other-page.md)[Label](Subfolder/) といったふうに書くだけで、公開されたサイト上でもリンクが切れせず「つべこべ言わんでもとにかく動く」わけです。


3. 参考リンク


4. 運用Tips・ベストプラクティス


5. まとめ