Wie Farbe im Text mit ReStructured Text (rst2html.py) verwenden oder wie HTML-Tags ohne Leerzeilen einfügen?

StackOverflow https://stackoverflow.com/questions/4669689

Frage

Wie kann ich Farbe mit ReStructured Text verwenden? Zum Beispiel übersetzt **hello** in <strong>hello</strong>. Wie kann ich restrukturieren (rst2html.py) übersetzen etwas in <font color="####">text</font>?

Ich dachte über ..raw :: html, aber es führt Leerzeilen. Ich möchte HTML-Tags ohne Leerzeilen einfügen.

War es hilfreich?

Lösung

Ich fand diese Methode funktioniert

Als erstes müssen Sie die Rolle.

.. role:: red

An example of using :red:`interpreted text`

Es übersetzt in wie folgt.

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

Nun haben Sie die rote Klasse, Sie CSS für wechselnden Farben verwenden können.

.red {
    color:red;
}

Andere Tipps

Nun, ich bin ein neuer Benutzer jetzt, deshalb kann ich nicht kommentieren andere Antwort, dank Stackoverflow-Politik hier. https://meta.stackexchange.com/questions/ 51926 / new-users-cant-ask-for-Präzisierungen-außer-as-Antworten

Sienkiew Antwort ist gut, aber ich möchte Korrektur über den letzten Satz machen.

Es gibt viel das Stylesheet in der RST-Datei angeben. Der Schlüssel ist in Prosseek ursprünglichen Post, dass die .. roh :: Richtlinie ist.

Wir können am Anfang unserer RST-Datei setzen folgende Zeilen seinen Stil zu geben.

.. raw:: html

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

Die andere Antwort hier Hinweise auf das, was ich tun wollte, aber es setzt eine gewisse detaillierte Kenntnisse über Stylesheets in docutils. Hier ist eine Erklärung ein Kochbuch:

In Ihrer RST-Datei deklariert, sobald die Rolle, die sie dann verwenden:

    .. role:: red

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

Dann brauchen Sie eine Stylesheet-Datei. Zuerst Python verwenden, um den 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")

Dann bearbeiten my.css 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

Verwendung rst2html.py Ihr Dokument konvertieren:

    rst2html.py my_document.rst > my_document.html

Wenn Sie nicht verwenden docutils.conf möchten, können Sie das Stylesheet angeben, jedes Mal wenn Sie rst2html ausführen:

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

AFAIK, gibt es keine Möglichkeit, das Stylesheet in der RST-Datei angeben.

Die Kombination @ prosseek des und @ RayLuo die Antworten alles an einem Ort - zu leichter finden

An der Spitze Ihrer RST-Datei Ort

.. raw:: html

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

.. role:: red

:red:`test - this text should be red`

SEITE KOMMENTAR:

Natürlich werden viele Leute den Stil in einer separaten Datei möchten, wie @sienkiew sagt.

Aber nicht immer.

z. Ich erzeuge die oben von einem Skript, dass ich andere Nutzer in der Lage sein zu laufen, oft aus einer Datei URL. Je nach rst2html.py ist schlimm genug - erfordert etwas Nicht-Standard zu sein, in einer Konfigurationsdatei schlimmer ist.

Wenn es eine Möglichkeit gäbe eine schwache lokale Definition für den Stil zu schaffen - zum Beispiel „Wenn es keinen Stil ist .red bereits definiert Verwendung dieses, aber ansonsten den Stil verwenden bereits definiert“ - wäre schön. Aber AFAIK lokale Definitionen sind stärker.

Dies läuft mit rst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin), aber auch anderen RST Tool abgelehnt.

Arbeiten für mich wie folgt aus:

.. raw:: html

    <style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>

.. role:: red

:red:`test - this text should be red``
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top