Я создаю pdf-файлы, используя пакет макросов TeX Context. Исходный файл контекста создается с использованием шаблонов Django, и содержимое преобразуется из HTML (как хранится в базе данных) в синтаксис контекста с использованием Pandoc. Так как нет родного питона обязательного для Pandoc, я создал следующий шаблон фильтр для преобразования HTML в контекст:HTML-шаблон для контекста с использованием Pandoc и Django: как избежать слишком много раз вызывать подпроцесс?
def html2context(value):
"""
Runs pandoc to convert from HTML to Context.
Syntax::
{{ value|html2context }}
"""
cmd = 'pandoc -f html -t context'
p1 = subprocess.Popen(cmd.split(" "), stdout=subprocess.PIPE, stdin=subprocess.PIPE)
(stdout, stderr) = p1.communicate(input=value.encode('utf-8'))
return mark_safe(stdout)
Проблема заключается в том, что для создания моих PDF у меня назвать много раз шаблона фильтр, оканчивающимся на очень медленный процесс преобразования. Причина, по которой я должен многократно вызывать фильтр, заключается в том, что мой шаблон смешивает контент из базы данных и необработанные команды контекста для структурирования моего документа: HTML не охватывает все возможности, которые мне нужны в контексте. Минимальный пример моего шаблона выглядит следующим образом:
{% for plugin in intro %}
{{ plugin.text.body|html2context }}
\page[emptyodd]
{% endfor %}
Есть ли у вас какие-либо идеи, как я мог бы сделать процесс конверсии менее неоптимальный?
Благодаря
Я думаю, у вас есть проблема [XY] (http://meta.tex.stackexchange.com/a/2450/5763). Пожалуйста, укажите ваш X. Я серьезно верю, что вы, вероятно, можете сделать это только с ConTeXt MkIV без pandoc. До встречи в [TeX.SX] (http://tex.stackexchange.com/). –