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