2012-02-06 11 views
14

Estoy usando Sphinx para generar documentación HTML para un programa de Python.definir marca para advertencias genéricas de esfinge con un título específico

me gustaría usar el admonition directiva genérico (cf. http://docutils.sourceforge.net/docs/ref/rst/directives.html#generic-admonition) con un título específico y tienen que marcó en una manera que puede definir, por ejemplo como el contenido generado con la directiva note, es decir, en caja, pero con un color diferente (la mayoría de las advertencias no están especialmente diseñadas, véase http://sphinx.pocoo.org/rest.html?highlight=admonition).

¿Qué debo hacer al respecto?

+0

No estoy seguro de entender. ¿Desea que la directiva 'admonition' se represente exactamente como la directiva' note'? ¿Por qué? ¿Qué quiere decir con "admoniciones específicas de esfinge"? – mzjn

+0

@mzjn: edité la pregunta para aclararla. – equaeghe

+0

¿Qué le parece usar la directiva [topic directive] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#topic)? – crayzeewulf

Respuesta

12

Si entendí su pregunta correctamente, le gustaría aplicar un estilo CSS de custon a la advertencia. Puedes hacer esto con a: class: attibute.

Por ejemplo, la siguiente

.. admonition:: my title goes here 
    :class: myOwnStyle 

    this is the admonition text 

renders como

<div class="myownstyle admonition"> 
    <p class="first admonition-title">my title goes here</p> 
    <p class="last">this is the admonition text</p> 
</div> 

A continuación, añada su propia hoja de estilo. Por ejemplo, por una costumbre layout.html en las plantillas _ directorio en su directorio fuente :

{% extends "!layout.html" %} 
{% set css_files = css_files + ["_static/customstyle.css"] %} 

entonces se puede jugar con los estilos CSS en la hoja de estilo mediante un selector para el myownstyle clase

+0

Me tomó horas resolver esto porque no estaba formulando la pregunta correctamente en Google. Su respuesta es exhaustiva e incluye más información útil de la que pensé que podría obtener. –

3

para añadir archivos css con mayor facilidad, los puso en la carpeta _static y luego añadir esto a conf.py:

def setup(app): 
    app.add_stylesheet('custom.css') 
Cuestiones relacionadas