2011-01-12 5 views

risposta

32

ho trovato questo metodo di lavoro

In primo luogo, si ha il ruolo.

.. role:: red 

An example of using :red:`interpreted text` 

Si traduce come segue.

<p>An example of using <span class="red">interpreted text</span></p> 

Ora, si ha la classe rossa, è possibile utilizzare i CSS per cambiare i colori.

.red { 
    color:red; 
} 
+2

E 'possibile definire globalmente il ruolo una volta in conf.py invece di definirlo in tutti i primi file in cui è usato? – locke14

9

L'altra risposta qui accenna a quello che volevo fare, ma assume una certa conoscenza dettagliata su fogli di stile in docutils. Ecco una spiegazione libro di cucina:

Nel file RST, dichiarare il ruolo una volta, quindi utilizzarlo:

.. role:: red 

    This text is :red:`colored red` and so is :red:`this` 

allora avete bisogno di un file di foglio di stile. In primo luogo, utilizzare Python per copiare il foglio di stile predefinito dal pacchetto docutils:

python 
    import os.path 
    import shutil 
    import docutils.writers.html4css1 as h 
    shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css") 

Poi modificare my.css per aggiungere le personalizzazioni alla fine:

.red { 
      color: red; 
    } 

Creare un file di configurazione docutils denominato " docutils.conf ":

[html4css1 writer] 
    stylesheet-path: my.css 
    embed-stylesheet: yes 

uso rst2html.py per convertire il documento:

rst2html.py my_document.rst > my_document.html 

Se non si desidera utilizzare docutils.conf, è possibile specificare il foglio di stile ogni volta che si esegue rst2html:

rst2html.py --stylesheet my.css my_document.rst > my_document.html 

per quanto ne so, non c'è modo di specificare il foglio di stile nel file RST.

+0

Sembra una buona soluzione (e ben scritta). Inoltre, non si vorrebbe veramente aggiungere un foglio di stile nel primo file, perché l'obiettivo sarebbe utilizzare un file per più formati. Quindi, se in seguito decidi, "diamine, voglio cambiare il modo in cui definisco il rosso", puoi farlo più facilmente. –

23

Bene, ora sono un nuovo utente, quindi non posso commentare la risposta di altri, grazie alla politica dello stackoverflow qui. https://meta.stackexchange.com/questions/51926/new-users-cant-ask-for-clarifications-except-as-answers

La risposta di Sienkiew è buona, ma voglio correggere l'ultima frase.

C'è modo di specificare il foglio di stile nel file RST. L'indizio è nel post originale di Prosseek, ovvero la .. raw :: direttiva.

Possiamo mettere le seguenti righe all'inizio del nostro file RST per specificare il suo stile.

.. raw:: html 

    <style> .red {color:red} </style> 
+0

Ho provato [(https://github.com/jalanb/pym/commit/c10254f2035e10f7d4bbeb711b69880e32c8df86), ma [ReadTheDocs] (https://pym.readthedocs.org/en/latest/) ha gnerato ': rosso: 'rosso'' – jalanb