How to add a custom css file to Sphinx?

匿名 (未验证) 提交于 2019-12-03 02:45:02

问题:

How I can add custom css file? The following config does not work for me:

# conf.py html_static_path = ['_static'] html_theme = 'default' html_theme_options = {   'cssfiles': ['_static/style.css'] } 

Result:

C:\temp\test-docs\docs>make html Running Sphinx v1.2.2 loading pickled environment... not yet created building [html]: targets for 2 source files that are out of date updating environment: 2 added, 0 changed, 0 removed reading sources... [ 50%] help reading sources... [100%] index  looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... Theme error: unsupported theme option 'cssfiles' given 

回答1:

A simpler way is to add this to your conf.py:

def setup(app):     app.add_stylesheet('css/custom.css')  # may also be an URL 

Then put the file into the _static/css/ folder.



回答2:

You should be able to include custom css by extending the default sphinx theme. In your conf.py you would specify where your extension to the theme would be, such as.

# Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] 

Then in _templates you would create a extension to the default theme named 'layout.html' that would include your cssfiles such as.

{# layout.html #} {# Import the theme's layout. #} {% extends "!layout.html" %}  {% set css_files = css_files + ['_static/style.css'] %} 

See sphinx's documentation on templating for more information.



回答3:

The options that you can configure via html_theme_options are theme-dependent. Check out the [options] section of your theme’s theme.conf to find out what is available.

On a global basis, though, you can define html_context in your conf.py to override the settings for css_files (and, for that matter, script_files too):

html_context = {     'css_files': ['_static/custom.css'], } 

(For reference, have a look at Sphinx’s builders.html.StandaloneHTMLBuilder.prepare_writing() and see how self.globalcontext gets populated there.)



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!