Как использовать цвет в тексте с реструктурированным текстом (rst2html.py) или как вставить теги HTML без пустых строк?
-
10-10-2019 - |
Вопрос
Как я могу использовать цвет с реструктурированным текстом? Например, **hello**
переводится в <strong>hello</strong>
. Анкет Как я могу сделать реструктуризацию (rst2html.py) перевести что-нибудь в <font color="####">text</font>
?
Я думал о ..raw :: html, но он вводит пустые строки. Я хочу вставить теги HTML без пустых линий.
Решение
Я нашел этот метод работает
Во -первых, у вас есть роль.
.. role:: red
An example of using :red:`interpreted text`
Это приводит к следующему.
<p>An example of using <span class="red">interpreted text</span></p>
Теперь у вас есть красный класс, вы можете использовать CSS для изменения цвета.
.red {
color:red;
}
Другие советы
Ну, теперь я новый пользователь, поэтому я не могу комментировать ответ других, благодаря политике Stackoverflow здесь. https://meta.stackexchange.com/questions/51926/new-users-cant-ask-for-clarifications-except-as-answers
Ответ Sienkiew хорош, но я хочу исправить его последнее предложение.
Есть способ указать лист стиля в RST -файле. Подсказка в оригинальном посте Просека, это .. Raw :: Directive.
Мы можем установить следующие строки в начале нашего первого файла, чтобы указать его стиль.
.. raw:: html
<style> .red {color:red} </style>
Другой ответ здесь намекает на то, что я хотел сделать, но он предполагает некоторые подробные знания о таблицах стилей в Docutils. Вот поваренная книга AA:
В вашем первом файле объявите роль один раз, затем используйте ее:
.. role:: red
This text is :red:`colored red` and so is :red:`this`
Тогда вам нужен файл листа стиля. Во -первых, используйте Python, чтобы скопировать лист стиля по умолчанию из пакета Docutils:
python
import os.path
import shutil
import docutils.writers.html4css1 as h
shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css")
Затем отредактируйте my.css, чтобы добавить свои настройки в конце:
.red {
color: red;
}
Создайте файл конфигурации Docutils с именем "Docutils.conf":
[html4css1 writer]
stylesheet-path: my.css
embed-stylesheet: yes
Используйте rst2html.py, чтобы преобразовать документ:
rst2html.py my_document.rst > my_document.html
Если вы не хотите использовать docutils.conf, вы можете указывать лист стилей каждый раз, когда вы запускаете RST2HTML:
rst2html.py --stylesheet my.css my_document.rst > my_document.html
Afaik, нет способа указать лист стиля в первом файле.
Объединение @proseek's и @rayluo отвечает все в одном месте - чтобы облегчить поиск
В верхней части вашего первого файла место
.. raw:: html
<style> .red {color:red} </style>
.. role:: red
:red:`test - this text should be red`
Боковой комментарий:
Конечно, многие люди захотят стиль в отдельном файле, как говорит @Sienkiew.
Но не всегда.
Например, я генерирую вышеперечисленное из сценария, который я хочу, чтобы другие пользователи могли работать, часто из URL -файла. В зависимости от rst2html.py достаточно плохо - требуется, чтобы что -то нестандартное было в файле конфигурации, хуже.
Если бы был способ создать слабые локальные определения для стиля - например, «если нет стиля. Ренд уже определенный используйте это, но в противном случае использовать уже определенный стиль» - было бы неплохо. Но местные определения AFAIK сильнее.
Это бежало с rst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin)
, но другие первые инструменты отвергнуты.
Работает для меня так:
.. raw:: html
<style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>
.. role:: red
:red:`test - this text should be red``