Créer des documents différents à partir des mêmes sources via Jinja
Le script Python profiling.py
ci-dessous permet de profiler du contenu en preprocessing à l’aide du puissant moteur de modèle Jinja :
#!/usr/bin/pythonimport jinja2import sysreload(sys)sys.setdefaultencoding('utf8')
public=str(sys.argv[1])env = jinja2.Environment(loader=jinja2.FileSystemLoader('./'))template = env.get_template('texte-conditionnel.rst')string=template.render(audience=public)
file = open('texte-conditionnel.rst','w')file.write(string)file.close()
Contenu du fichier texte-conditionnel.rst
:
Utilisation du texte conditionnel=================================
{% if audience=='electrician' %}
.. admonition:: Danger pour les électriciens
Risque d'électrocution
Ne touchez pas les fils électriques.
{% else %}
.. admonition:: Danger pour les plombiers
Risque de noyade
Ne plongez pas dans la piscine.
{% endif %}
Utilisation :
$ ./profiling.py electrician
Il suffit maintenant d’appeler le script avant compilation via Sphinx dans le Makefile
.