sphinx, restructuredtext: définir la couleur pour un seul mot
Est-il possible de définir la couleur des mots simples (ou caractères) sphinx? Je suis presque sûr qu'il devrait y avoir un markup tag, comme HTML font
balise.
3 réponses
si vous voulez faire cela sans être lié au html, essayez d'appliquer un style différent que le corps du texte normal à votre mot.
dans cet exemple adapté du manuel rst2pdf, j'applique le style de rubrique existant qui est Rouge dans le backend que j'utilise:
Before red.
.. role:: rubric
I like color :rubric:`rubric`.
After red.
l'apparence réelle du mot dépendra de la façon dont le style que vous choisissez est défini dans la feuille de style que vous utilisez lors de la génération de votre document. Si vous voulez du texte bleu, faites un style de texte bleu et dérivez ça vient du style de texte normal. La feuille de style est spécifique au backend et vous pouvez utiliser la valeur par défaut. Pour imprimer la valeur par défaut pour rst2pdf.py, ce faire (à partir de la rst2pdf manuel):
rst2pdf --print-stylesheet
en continuant l'exemple pour une feuille de style rst2pdf, ajoutez ceci à votre feuille de style pour avoir un style texte bleu:
bluetext:
parent: bodytext
textColor: blue
dans le document vous pouvez faire référence à ce style pour obtenir un mot bleu. Notez que ce bit est générique, et devrait faire du texte bleu si vous définissez un style bleu dans votre html ou quoi que ce soit d'autre. la feuille de style de backend.
Before blue.
.. role:: bluetext
I like color :bluetext:`blue`.
After blue.
le pdf généré contient les mots colorés:
Sur mon Sphinx-alimenté site web, j'utilise une combinaison de:
- un fichier textuel restructuré contenant des définitions de rôles, une pour chaque couleur-voir .spécial.tvd (BitBucket link)
- un fichier CSS contenant des règles de couleur pour chaque rôle - voir les premières lignes de hacks.css (BitBucket link)
puis, dans chaque fichier rST où j'ai besoin de couleurs, j'importe d'abord .special.rst
au sommet, soit manuellement:
.. include:: .special.rst
Ou rst_epilog
variable de configuration dans les Sphinx conf.py
fichier:
rst_epilog = "\n.. include:: .special.rst\n"
et ensuite chaque rôle peut être utilisé facilement dans la pure syntaxe rST:
This is :red:`red !` And :blue:`this part is blue`.
Plus de détails sont donnés sur cette page (en français, désolé).
il fonctionne parfaitement bien pour la sortie html (et html-like), mais pas pour PDF. Reportez-vous à la première réponse ci-dessus pour la production D'un PDF avec des couleurs.
cela fonctionne, mais laisse le HTML dans un paragraphe séparé.
.. raw:: html
<font color="blue">Blue word,</font>
And a word without color
Si quelqu'un a une meilleure réponse, je vais l'accepter.