[Fixed]-Python Sphinx css not working on github pages

16πŸ‘

I’ve used sphinx/githubpages to document one of my python projects. I found this blog post very helpful. Here’s an example of my working docs directory.

Adding a .nojekyll file in the docs directory will fix the issue. This tells github pages not to publish the files through jekyll. With this, you won’t need to change any directory names and it should work with "_" prefixes.

πŸ‘€Peter Curran

6πŸ‘

TL;DR

Add a .nojekyll file to the toplevel directory of your repository (source).

In contrast to previous answers, the .nojekyll file has to be on the toplevel – even if you serve your page from docs/.

Background:

Github pages uses jekyll by default.
When jekyll generates a site, files whose name starts with an underscore are not included in the destination (source, bottom).
This is why they are not served by github pages as long as you are lacking a .nojekyll (to disable jekyll processing).

πŸ‘€m8mble

1πŸ‘

There is a sphinx extension for github pages: sphinx.ext.githubpages

Appending this to the list of extensions in the Sphinx’s config file docs/conf.py should do the trick.

...

extensions = [
    ...,
    "sphinx.ext.githubpages",
]

...

0πŸ‘

I was doing the same thing; the issue is with the underscore in the folder name. The underscore means to ignore the folder.

I used sed to modify it.

0πŸ‘

For me the issue was I used the Read the Docs theme and added it as the HTML theme:

html_theme = "sphinx_rtd_theme"

but I forgot to include it in the extensions:

extensions = [
    ...
    "sphinx_rtd_theme",
]

and import it:

import sphinx_rtd_theme

I was able to figure this out by looking at the console error messages and seeing what the issue was:
Google Console showing error messages

πŸ‘€Eric Wiener

Leave a comment