Как использовать библиотеку MathJax в Google App Engine

Я пытаюсь добавить поддержку Tex в свое приложение и хочу использовать MathJax для рендеринга клиента формул Mathematics. сторона, так как я отказался от решения на стороне сервера, объясненного здесь.
Библиотека MathJax довольно объемная (30 000 файлов), и ее нелегко установить в App Engine из-за ограничение количества файлов.

У меня нет опыта работы с библиотекой MathJax, поэтому я открыт для других стратегий, таких как:

  • Доступный MathJax CDN
  • Вырезание некоторых каталогов/файлов для уменьшения количества файлов в пакете.

Знаете ли вы, как использовать Mathjax в Google App Engine?


person systempuntoout    schedule 07.01.2011    source источник
comment
загрузите mathjax прямо сейчас, чтобы понять, почему они используют 30 000 файлов! Я предполагаю, что это как-то связано со шрифтами/глифами?   -  person Peter Recore    schedule 07.01.2011
comment
Вот это да. да, для каждого символа/буквы/цифры и т. д. для каждого шрифта, похоже, есть отдельные png. Их можно использовать только в качестве резервной копии, когда браузер не может обрабатывать лучшие решения, связанные с реальными шрифтами. вы можете попробовать удалить папку fonts\HTML-CSS\TeX\png\ и посмотреть, работает ли что-то в большинстве браузеров...   -  person Peter Recore    schedule 07.01.2011
comment
@Peter, спасибо за ваше время, я попробовал ваше решение, и оно подходит для Гей.   -  person systempuntoout    schedule 08.01.2011


Ответы (3)


Вы можете использовать http://mathjax.connectmv.com : мы не CDN, но бесплатно размещаем самые последние файлы MathJax. .

У нас есть заголовки с истечением срока действия, установленные на 2 недели, и Access-Control-Allow-Origin: * для обеспечения межсайтового доступа.

person Kevin Dunn    schedule 07.01.2011
comment
Все идет нормально. Демонстрация с использованием connectmv.com здесь - person systempuntoout; 08.01.2011

С марта 2011 г. MathJAX имеет собственный CDN, так что теперь вы можете использовать его без загрузка любых файлов в GAE. Просто убедитесь, что это есть в заголовке любой страницы:

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?...">
</script>
person Matthew Leingang    schedule 05.09.2011
comment
Для меня это требовало суффикса ?config=TeX-AMS-MML_HTMLorMML к URL-адресу, как это предлагается в MathJax Начало работы раздел. - person Bob Stein; 09.07.2013
comment
@BobStein-VisiBone: Спасибо за поправку. Я добавил строку запроса. - person Matthew Leingang; 06.03.2014
comment
Добро пожаловать, @MatthewLeingang. Переформатировать по своему вкусу? Если нет, пожалуйста, вернитесь. - person Bob Stein; 06.03.2014
comment
Это очень полезно. Жаль, что это не работает для https. - person Luca; 02.09.2014
comment
Примечание из будущего: срок службы cdn.mathjax.org подходит к концу, проверьте mathjax .org/cdn-shutting-down для советов по миграции. - person Peter Krautzberger; 12.04.2017

Если вы удаляете файл png, обязательно установите значение imageFont в нулевое значение в конфигурации, чтобы MathJax не пытался использовать шрифты изображения. Питер прав, они предназначены для использования с браузерами, которые не обрабатывают директивы CSS @font-face (включая iPhone/iTouch/iPad, хотя iOS4.2 теперь обрабатывает это правильно, и MathJax скоро должен это обработать), но также используются для Firefox, когда MathJax загружается из локального файла (URL-адрес file://), который не находится в том же каталоге или подкаталоге, что и файл HTML, который его загрузил. Если вы не находитесь ни в одной из этих ситуаций, можно безопасно удалить шрифты изображений.

person Davide Cervone    schedule 07.01.2011
comment
Я удалил каталог шрифтов изображений и установил для imageFont значение null. Кажется, что Firefox 3.6.13+OSX 10.5.8 ждет некоторого тайм-аута, когда ему нужно загрузить веб-шрифты, Chrome 9.0 делает то же самое, Safari довольно хорош. Пробовал на FF 3.6 на Windows XP, работает без сбоев. Демонстрация здесь - person systempuntoout; 08.01.2011
comment
Вы можете просто сослаться на копию MathJax на www.mathjax.org, а не загружать ее самостоятельно. Мы также настраиваем CDN для MathJax, но он еще не совсем готов. - person Davide Cervone; 09.01.2011
comment
В FF 3.6.13 представлен более строгий анализатор шрифтов, и исходные OTF-шрифты MathJax не прошли его проверку. Я вижу, вы используете v1.0.1; Вы обновили шрифты до нового набора, который работает с FF 3.6.13? Подробнее см. на mathjax.org/download. Я проверил FF 3.6.8, и он работал нормально, поэтому я подозреваю, что вы не обновили шрифты до новых шрифтов OTF, которые работают с FF 3.6.13. - person Davide Cervone; 09.01.2011
comment
Похоже, вы не загрузили шрифты SVG в каталог fonts/HTML-CSS/TeX. Если вы переместили только OTF, этого будет недостаточно. Вам также нужны каталоги SVG и EOT. Единственный, который вы можете удалить, — это каталог PNG. Chrome использует шрифты SVG, поэтому, если они отсутствуют, это объясняет медлительность Chrome, поскольку он будет ожидать тайм-аут для шрифтов, прежде чем продолжить. - person Davide Cervone; 09.01.2011
comment
спасибо за вашу помощь, я выбрал решение connectmv.com, которое лучше подходит для Google App Engine. - person systempuntoout; 10.01.2011