Как использовать цвет в тексте с реструктурированным текстом (rst2html.py) или как вставить теги HTML без пустых строк?

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

Вопрос

Как я могу использовать цвет с реструктурированным текстом? Например, **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``
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top