Comment utiliser la couleur avec du texte structuré? Par exemple, **hello**
se traduit par <strong>hello</strong>
. Comment faire pour que ReStructure (rst2html.py) traduise quelque chose en <font color="####">text</font>
?
J'ai pensé à ..raw :: html, mais cela introduit des lignes vides. Je veux insérer des balises HTML sans lignes vierges.
J'ai trouvé cette méthode de travail
D'abord, vous avez le rôle.
.. role:: red
An example of using :red:`interpreted text`
Cela se traduit comme suit.
<p>An example of using <span class="red">interpreted text</span></p>
Maintenant, vous avez la classe rouge, vous pouvez utiliser CSS pour changer les couleurs.
.red {
color:red;
}
Bien, je suis un nouvel utilisateur maintenant, donc je ne peux pas commenter les réponses des autres, grâce à la politique de stackoverflow ici. https://meta.stackexchange.com/questions/51926/new-users-cant-ask-for-clarifications-except-as-answers
La réponse de Sienkiew est bonne, mais je veux apporter une correction concernant sa dernière phrase.
Il y a IS moyen de spécifier la feuille de style dans le fichier RST. L'indice est dans le post original de Prosseek, c'est-à-dire la directive .. raw ::.
Nous pouvons mettre les lignes suivantes au début de notre fichier RST pour spécifier son style.
.. raw:: html
<style> .red {color:red} </style>
L'autre réponse ici suggère ce que je voulais faire, mais suppose des connaissances détaillées sur les feuilles de style dans docutils. Voici une explication d'un livre de cuisine:
Dans votre fichier RST, déclarez le rôle une fois, puis utilisez-le:
.. role:: red
This text is :red:`colored red` and so is :red:`this`
Ensuite, vous avez besoin d'un fichier de feuille de style. Tout d’abord, utilisez Python pour copier la feuille de style par défaut du paquet docutils:
python
import os.path
import shutil
import docutils.writers.html4css1 as h
shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css")
Puis éditez mon.css pour ajouter vos personnalisations à la fin:
.red {
color: red;
}
Créez un fichier de configuration docutils nommé "docutils.conf":
[html4css1 writer]
stylesheet-path: my.css
embed-stylesheet: yes
utilisez rst2html.py pour convertir votre document:
rst2html.py my_document.rst > my_document.html
Si vous ne voulez pas utiliser docutils.conf, vous pouvez spécifier la feuille de style à chaque fois que vous exécutez rst2html:
rst2html.py --stylesheet my.css my_document.rst > my_document.html
Autant que je sache, il n’existe aucun moyen de spécifier la feuille de style dans le fichier RST.
Combinaison des réponses de @ prosseek's et de @ RayLuo au même endroit - pour faciliter la recherche
En haut de votre fichier RST, placez
.. raw:: html
<style> .red {color:red} </style>
.. role:: red
:red:`test - this text should be red`
COMMENTAIRE DE CÔTÉ:
Bien sûr, beaucoup de gens voudront le style dans un fichier séparé, comme le dit @sienkiew.
Mais pas toujours.
Par exemple. Je génère ce qui précède à partir d'un script que je veux que les autres utilisateurs puissent exécuter, souvent à partir d'une URL de fichier. Dépendre de rst2html.py, c'est déjà assez grave. Exiger quelque chose de non standard dans un fichier de configuration est pire.
S'il y avait un moyen de créer une définition locale faible pour le style - par ex. "S'il n'y a pas de style .red déjà défini, utilisez ceci, mais sinon utilisez le style déjà défini" - ce serait bien. Mais les définitions locales d’AAFIK sont plus fortes.
Cela fonctionnait avec rst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin)
, mais d'autres outils RST ont été rejetés.
Fonctionne pour moi comme ça:
.. raw:: html
<style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>
.. role:: red
:red:`test - this text should be red``