Я пытаюсь реализовать частичный рендеринг в моем редакторе Markdown, конвертируя Markdown/Tex только в измененных абзацах. Итак, у меня есть элемент #preview
, который содержит несколько элементов .preview_section
, содержащих преобразованные абзацы HTML. Когда я обновляю один или несколько элементов .preview_section
, я хочу, чтобы MathJax обрабатывал только эти элементы.
Я пробовал разные подходы:
- Передать список измененных элементов
.preview_section
в качестве параметра набора. Это худшее решение с точки зрения производительности. При передаче более 1 элемента время рендеринга почти умножается на количество элементов. - Передайте элемент
#preview
в качестве параметра набора. Проблема с этим решением заключается в том, что MathJax снова визуализирует уже визуализированныйscript[type="math/tex; mode=display"]
. Я попытался установить конфигурацию tex2jaxignoreClass: "tex2jax_ignore"
и добавить.tex2jax_ignore
как к немодифицированным элементам.preview_section
, так и к уже отрендеренным элементамscript
, но это не имеет никакого эффекта, так как не обрабатывается препроцессором tex2jax (я полагаю). - Передайте элемент
#preview
в качестве параметра набора, но после удаления всехscript[type="math/tex; mode=display"]
из предварительного просмотра. Это наиболее эффективно, но я не очень люблю убирать эти скрипты из предварительного просмотра.
Есть ли способ сказать MathJax не обрабатывать эти элементы script
? Или любые идеи, прежде чем я погрузимся в исходный код... Спасибо.