Использование reStructuredText для добавления HTML с пользовательскими атрибутами "id" и "class" - PullRequest
11 голосов
/ 05 октября 2010

Используя rsStructuredText для генерации HTML, я пытаюсь обернуть абзац

дополнительным элементом div. Должен содержать атрибут "id" со значением, которое я назначаю. Кроме того,

должен иметь атрибут "class" со значением "editable".

Это то, что я имею до сих пор:

.. raw:: html 

   <div id="an_identifier">

.. class:: editable                                                                 

   paragraph content

.. raw:: html

   </div>

Это вывод:

<div id="an_identifier">
    <p class="editable">paragraph content</p>
</div>

Я уже получил результаты, которые искал, хотя Мне не нравится встроенный необработанный HTML . У меня вопрос: есть ли какая-либо директива или другой метод в reStructuredText для ненавязчивого достижения тех же результатов ?

Ответы [ 3 ]

21 голосов
/ 08 октября 2011

Начиная с версии 0.8 (2011-07-07), вы можете использовать директиву контейнера с опцией имени:

 .. container:: test
    :name: my-id

    a paragraph

результаты в

  <div class="test container" id="my-id">
  a paragraph
  </div>
2 голосов
/ 17 марта 2017

Если вы обнаружите, что добавленные классы «контейнера» конфликтуют с классом начальной загрузки с тем же именем (вздох), используйте вместо этого:

.. class:: class_name

    paragraph content
2 голосов
/ 13 октября 2010

Я просто работал над чем-то похожим, и я нашел решение здесь . Что вам нужно сделать, это использовать пользовательскую директиву и добавить ее к существующему модулю записи. Вы можете просто добавить директиву (с небольшими изменениями) из ссылки на скрипт rst2html.py, и все готово. См. Также документацию для создания директив .

...