software how example code python python-sphinx

how - sphinx python example



¿Cómo agregar un archivo css personalizado a Sphinx? (3)

Debería poder incluir css personalizados al extender el tema de la esfinge por defecto. En su conf.py, especificaría dónde estaría su extensión al tema, como por ejemplo.

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

Luego, en _templates, crearía una extensión para el tema predeterminado llamado ''layout.html'' que incluiría sus archivos css como.

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

Consulte la documentación de sphinx sobre templating para obtener más información.

¿Cómo puedo agregar un archivo css personalizado? La siguiente configuración no funciona para mí:

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

Resultado:

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


Las opciones que puede configurar a través de html_theme_options dependen del tema. Echa un vistazo a la sección [options] de theme.conf de tu tema para averiguar qué hay disponible.

Sin embargo, en una base global, puede definir html_context en su conf.py para anular la configuración de css_files (y, por lo demás, script_files también):

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

(Para referencia, eche un vistazo a los builders.html.StandaloneHTMLBuilder.prepare_writing() Sphinx y vea cómo se completa el self.globalcontext allí ).


Una forma más sencilla es agregar esto a su conf.py :

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

Luego ponga el archivo en la _static/css/ .