2012-02-06 7 views
14

Sto usando Sphinx per generare documentazione HTML per un programma Python.definire markup per ammonizioni generiche di sfinge con un titolo specifico

Vorrei utilizzare la direttiva generica admonition (cfr http://docutils.sourceforge.net/docs/ref/rst/directives.html#generic-admonition) con un titolo specifico e lo hanno segnato in un modo posso definire, ad esempio, come il contenuto generato con la direttiva note, vale a dire, in scatola, ma con un colore diverso (la maggior parte delle avvertenze non ha uno stile particolare, vedi http://sphinx.pocoo.org/rest.html?highlight=admonition).

Come posso fare meglio?

+0

Non sono sicuro di aver capito. Vuoi che la direttiva 'admonition' sia resa esattamente come la direttiva' note'? Perché? Cosa intendi per "ammonizioni di sfinge specifiche"? – mzjn

+0

@mzjn: ho modificato la domanda per chiarirla. – equaeghe

+0

Come usare la [direttiva argomento] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#topic)? – crayzeewulf

risposta

12

Se ho capito correttamente la tua domanda, ti piacerebbe applicare uno stile CSS custon per l'ammonizione. Puoi farlo con un: class: attibute.

Ad esempio, il seguente

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

    this is the admonition text 

rende come

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

È quindi aggiungere il proprio foglio di stile. Ad esempio, una consuetudine layout.html nelle _ modelli directory nel fonte directory:

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

Poi si può giocare con gli stili CSS nel foglio di stile utilizzando un selettore per la myownstyle classe

+0

Mi ci sono voluti ore per capirlo perché non stavo formulando correttamente la domanda su Google. La tua risposta è completa e include più informazioni utili di quanto pensassi di poter ottenere. –

3

per aggiungere file css più facilmente, li ha messi nella cartella _static e quindi aggiungere questo al conf.py:

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