Sphynx document on Github pages Needs `.nojekyll` File

I recently tried to upload the Linux kernel document which is generated in html form using the Sphynx build system[1] on a Github page[2] so that people can read DAMON[3] document from everywhere. The upload was very easy. I simply created the repo, put the generated html doc at Documentation/output/ into the repo and pushed. However, the theme was not applied.

Github assumes every Github pages to be based on Jekyll[4], and because every files and directories starting with underscores are handled special in Jekyll, some directories Sphynx created were ignored.

You can simply let Github pages to know your site is not generated with Jekyll by putting .nojekyll file with no content on your root of the repo and push. For example,

$ cd <your github page repo>
$ touch .nojekyll
$ git add .nojekyll; git commit -m "Add .nojekyll"; git push

Note that the file should be located in the root of the repo, not somewhere else.

After this fix, my document[5] also works :)

[1] https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html#sphinx-build
[2] https://pages.github.com/
[3] https://sjp38.github.io/post/damon/
[4] https://jekyllrb.com/
[5] https://damonitor.github.io/doc/html/latest/admin-guide/mm/data_access_monitor.html

SeongJae Park
Kernel Development Engineer

SeongJae Park is a programmer who loves to analyze and develop systems.