сфинкс, restructuredtext: установить цвет для одного слова
есть ли способ задать цвет отдельных слов (или символов) в сфинкс? Я уверен, что должен быть какой-то тег разметки, например HTML font
тег.
3 ответов
если вы хотите сделать это без привязки к html, попробуйте применить к вашему слову другой стиль, чем обычный текст.
в этом примере, адаптированном из руководства rst2pdf, я применяю существующий стиль рубрики, который является красным в бэкэнде, который я использую:
Before red.
.. role:: rubric
I like color :rubric:`rubric`.
After red.
фактический вид слова будет зависеть от того, как стиль, который вы выбираете, определяется в таблице стилей, которую вы используете при создании документа. Если вы хотите синий текст, сделайте синий стиль текста и получите это из обычного стиля текста. Stylsheet зависит от бэкэнда, и вы можете использовать значение по умолчанию. Чтобы напечатать значение по умолчанию для rst2pdf.py, сделайте это (из руководства rst2pdf):
rst2pdf --print-stylesheet
продолжая пример для таблицы стилей rst2pdf, добавьте это в таблицу стилей, чтобы иметь синий стиль текста:
bluetext:
parent: bodytext
textColor: blue
в документе вы можете ссылаться на этот стиль, чтобы получить синее слово. Обратите внимание, что этот бит является общим и должен сделать синий текст, если вы определяете синий стиль в своем html или что-то еще стилей внутренним.
Before blue.
.. role:: bluetext
I like color :bluetext:`blue`.
After blue.
созданный pdf имеет цветные слова:
на моем Сфинксе-powered сайт, я использую комбинацию:
- реструктурированный текстовый файл, содержащий определения ролей, по одному для каждого цвета-см. .специальный.первый (ссылка BitBucket)
- CSS-файл, содержащий правила цвета для каждой роли - см. первые строки писаки.в CSS (ссылка BitBucket)
затем, в каждом первом файле, где мне нужны цвета, я сначала импортирую .special.rst
вверху, либо вручную:
.. include:: .special.rst
или rst_epilog
переменной конфигурации в :
rst_epilog = "\n.. include:: .special.rst\n"
и тогда каждая роль может быть легко использована в чистом первом синтаксисе:
This is :red:`red !` And :blue:`this part is blue`.
более подробная информация приведена на на этой странице (по-французски, к сожалению).
он отлично работает для вывода html (и html-как), но не для PDF. Обратитесь к первый ответ выше для создания PDF с цветами.
это работает, но оставляет HTML в отдельном пункте.
.. raw:: html
<font color="blue">Blue word,</font>
And a word without color
Если у кого-то есть лучший ответ, я приму его.