Python Sphinx css无法在github页面上工作

2cmtqfgy  于 2023-04-10  发布在  Python
关注(0)|答案(5)|浏览(136)

我使用Sphinx为一个Django项目创建了文档,并在执行make html命令后将html文件夹的内容复制到我的repo的docs/文件夹中,并将其推送到Github。之后我将这个docs/目录设置为Github Pages,现在它正在加载文档,但是css不工作,它只是一个带有任何样式的文档文本。
以下是我的Sphinx的config.py

import os
import sys
import django
sys.path.insert(0, os.path.abspath('..'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'PROJECT_NAME.settings'
django.setup()

templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
html_theme = 'bizstyle'
html_static_path = ['_static']
BUILDDIR = '.'

这里是GitHub页面中文档页面的链接:https://arycloud.github.io/Tagging-Project-for-Machine-Learning-Natural-Language-Processing/
有什么不对吗

13z8s7eq

13z8s7eq1#

我用sphinx/githubpages记录了我的一个python项目。我发现这个blog post非常有用。下面是我的工作docs directory的例子。
在docs目录中添加一个.nojekyll文件可以解决这个问题。这会告诉github页面不要通过jekyll发布文件。这样,你就不需要更改任何目录名,并且它应该使用“_”前缀。

dluptydi

dluptydi2#

TL;DR

.nojekyll文件添加到存储库的顶层目录(源代码)。
与以前的答案不同,.nojekyll文件必须位于顶层-即使您从docs/提供页面。

背景:

Github页面默认使用jekyll。当jekyll生成站点时,名称以下划线开头的文件不会包含在目标中(source,底部)。这就是为什么只要您缺少.nojekyll(禁用jekyll处理),github页面就不会提供这些文件。

5w9g7ksd

5w9g7ksd3#

我也在做同样的事情问题是文件夹名称中的下划线。下划线表示到ignore the folder
我用sed修改了它。

uhry853o

uhry853o4#

对我来说,问题是我使用了Read the Docs主题并将其添加为HTML主题:

html_theme = "sphinx_rtd_theme"

但我忘了把它包含在扩展中:

extensions = [
    ...
    "sphinx_rtd_theme",
]

并导入:

import sphinx_rtd_theme

我可以通过查看控制台错误消息并查看问题所在来解决这个问题:

dgiusagp

dgiusagp5#

有一个github页面的sphinx扩展:sphinx.ext.githubpages
将其附加到Sphinx的配置文件docs/conf.py中的extensions列表中应该可以完成任务。

...

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

...

相关问题