Особенности шаблона 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.