Wie kann ich Farbe mit neu strukturiertem Text verwenden? Beispielsweise wird **hello**
in <strong>hello</strong>
übersetzt. Wie kann ich ReStructure (rst2html.py) veranlassen, etwas in <font color="####">text</font>
zu übersetzen?
Ich habe über ..raw :: html nachgedacht, aber es werden Leerzeilen eingefügt. Ich möchte HTML-Tags ohne Leerzeilen einfügen.
Ich fand diese Methode funktioniert
Erstens haben Sie die Rolle.
.. role:: red
An example of using :red:`interpreted text`
Es wird wie folgt übersetzt.
<p>An example of using <span class="red">interpreted text</span></p>
Jetzt haben Sie die rote Klasse, Sie können CSS zum Ändern der Farben verwenden.
.red {
color:red;
}
Nun, ich bin jetzt ein neuer Benutzer, daher kann ich die Antwort anderer nicht kommentieren, dank der Richtlinien von stackoverflow hier. https://meta.stackexchange.com/questions/51926/new-users-cant-ask-for-clarifications-except-as-answers
Sienkiews Antwort ist gut, aber ich möchte den letzten Satz korrigieren.
Dort können Sie IS das Stylesheet in der RST-Datei angeben. Der Hinweis ist in Prosseeks Originalbeitrag zu finden, das ist die .. raw :: Direktive.
Wir können die folgenden Zeilen am Anfang unserer RST-Datei einfügen, um ihren Stil festzulegen.
.. raw:: html
<style> .red {color:red} </style>
Die andere Antwort hier gibt einen Hinweis darauf, was ich tun wollte, setzt jedoch detaillierte Kenntnisse über Stylesheets in Docutils voraus. Hier ist eine Kochbucherklärung:
Deklarieren Sie die Rolle in Ihrer RST-Datei einmal und verwenden Sie sie dann:
.. role:: red
This text is :red:`colored red` and so is :red:`this`
Dann benötigen Sie eine Stylesheet-Datei. Verwenden Sie zunächst Python, um das Standard-Stylesheet aus dem docutils-Paket zu kopieren:
python
import os.path
import shutil
import docutils.writers.html4css1 as h
shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css")
Bearbeiten Sie dann my.css, um Ihre Anpassungen am Ende hinzuzufügen:
.red {
color: red;
}
Erstellen Sie eine docutils-Konfigurationsdatei mit dem Namen "docutils.conf":
[html4css1 writer]
stylesheet-path: my.css
embed-stylesheet: yes
verwenden Sie rst2html.py, um Ihr Dokument zu konvertieren:
rst2html.py my_document.rst > my_document.html
Wenn Sie docutils.conf nicht verwenden möchten, können Sie das Stylesheet bei jeder Ausführung von rst2html angeben:
rst2html.py --stylesheet my.css my_document.rst > my_document.html
AFAIK, es gibt keine Möglichkeit, das Stylesheet in der RST-Datei anzugeben.
Kombinieren Sie die Antworten von @ prosseek und @ RayLuo an einem Ort, um die Suche zu vereinfachen
Platzieren Sie oben in Ihrer RST-Datei
.. raw:: html
<style> .red {color:red} </style>
.. role:: red
:red:`test - this text should be red`
SEITLICHER KOMMENTAR:
Natürlich werden viele Leute den Stil in einer separaten Datei haben wollen, wie @sienkiew sagt.
Aber nicht immer.
Z.B. Ich generiere das Obige aus einem Skript, das andere Benutzer ausführen können sollen, häufig aus einer Datei-URL. Abhängig von rst2html.py ist das schon schlimm genug - es ist schlimmer, wenn sich in einer Konfigurationsdatei etwas befindet, das nicht dem Standard entspricht.
Wenn es eine Möglichkeit gäbe, eine schwache lokale Definition für den Stil zu erstellen - z. "Wenn es keinen bereits definierten Stil .red gibt, verwenden Sie diesen, andernfalls verwenden Sie den bereits definierten Stil" - wäre schön. Die lokalen Definitionen der AFAIK sind jedoch strenger.
Dies lief mit rst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin)
, aber andere RST-Tools wurden abgelehnt.
Funktioniert bei mir so:
.. raw:: html
<style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>
.. role:: red
:red:`test - this text should be red``