GitHub
document
github-pages
静的サイトジェネレーター

GitHub Pagesで普通の静的ホスティングをしたいときは .nojekyll ファイルを置く

More than 1 year has passed since last update.

GitHub Pagesを静的サイトホスティングのために使用している方は多いと思います。

参考: GitHub Pagesの公式サイト(英語)

特に静的サイトジェネレータ(Sphinx, MkDocs, Hexo, Hugoなど)からGitHub Pagesへデプロイする用途は、多くの方が活用されているでしょう。


問題

しかし、GitHub Pagesには落とし穴があります。GitHub Pagesでホスティングされたファイルは、デフォルトではJekyllによって処理されるという原則があります。

これにより、デプロイしたサイトが正しく表示されなかったり、エラーが起こったりするケースがあります。(筆者が何度か経験しました)


解決法


  • GitHub Pagesに(Jekyll以外の)任意のファイルをホスティングしたい

  • GitHub Pagesが持っているJekyllの処理エンジンは使わない

このような場合は、.nojekyllという名前の空ファイルを作ると、Jekyllの変換機能を使わずに純粋な静的ホスティングを利用できます。

Bashなどでは次のコマンドで空ファイルを作れます。

$ touch .nojekyll

もし何かGitHub Pagesでトラブルがあった場合、まず.nojekyllファイルを置き忘れていないかどうかをチェックしましょう。

参考: Bypassing Jekyll on GitHub Pages

以上です。