Особенности шаблона documenttils/reStructuredText

Как я могу настроить заполнители в моем .rst файл с актуальными значениями?

Например, у меня есть example.rst файл со следующим содержанием:

Header
------------------------------------ 
${custom_text}

Я хочу заменить ${custom_text} свойство со значением this is the value of custom property запустив следующую команду:

rst2html example.rst -o example.html -Dcustom_text="this is the value of custom property"

Также мне интересно, можно ли настроить шаблон с помощью .properties файл? Например, я хотел бы запустить rst2html example.rst -o example.html -p example.properties использование команды example.properties файл со следующим содержанием:

custom_text=this is the value of custom property

Является ли это возможным? Поддерживает ли reStructuredText функции шаблона вообще?

РЕДАКТИРОВАТЬ: Обратите внимание, что я хочу настроить шаблон из командной строки или с помощью обычного .properties файл (может использоваться инструментом управления сборкой Ant/Maven).

1 ответ

Решение

Подстановка в файлах reStructuredText выполняется с использованием replace директивы. Например:

I am using |RST|.

.. |RST| replace:: reStructuredText

приведет к тексту

Я использую reStructuredText.

Вы могли бы использовать include директива для определения списка шаблонов замещения в отдельном файле. Например, даны следующие два файла:

example.rst:

Header
======

.. Include templates from external file (this is a comment).
.. include:: properties.rst

I can include text, like |my custom text|, from other files.

properties.rst

.. |my custom text| replace:: "example text"

приведет к документу:

заголовок

Я могу включить текст, например, "пример текста", из других файлов.

Здесь я использовал команду rst2html.py example.rst генерировать вывод HTML.

Есть несколько вариантов обработки шаблонов:

а) использовать механизм внутренней подстановки:

template.txt::

 Header
 ======

 |custom text|

example.txt::

 .. |custom text| replace:: this is the value of custom property

конвертировать с rst2html example.txt -o example.html.

Таким образом вы можете обрабатывать встроенный текст и изображения.

б) Напишите свою собственную оболочку: сценарий Python, который читает template а также properties files, выполняет замену и конвертирует с помощью одной из функций Docutils.core.

Другие вопросы по тегам