2 заметки с тегом

Эгея

Добавляем отрисовку формул в движок Эгея

После беглого поиска движка для отрисовки математических формул, выбор пал на MathJax. Дело за малым, осталось воткнуть его в Эгею.

Согласно документации, мы можем добавлять произвольные элементы для отрисовки движком при помощи допблоков:

  • header-pre
  • header-post
  • note-pre
  • note-post
  • footer-pre
  • footer-post

Имя блока соответствует позиции, где будет находиться их содержимое. В нашем случае, вполне подойдет блок header-pre, а значит создадим в папке /user/extras (от корня блога) файл header-pre.tmpl.php и поместить в него код для добавления MathJax на сайт:

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-MML-AM_CHTML' async></script>

Документацию по настройке параметра config можно почитать тут. В целом, все готово и можно протестировать на определении предела числовой последовательности, которое так любил спрашивать мой преподаватель матана.

Код:

$$ \lim_{n \to \infty} x_n = a ~ \Leftrightarrow ~ \forall \varepsilon > 0 ~ \exists N (\varepsilon) 
\in \Bbb{N} \colon ~  n \geqslant N ~ \Rightarrow |x_n - a| < \varepsilon $$

Результат:

 $$ \lim_{n \to \infty} x_n = a ~ \Leftrightarrow ~ \forall \varepsilon > 0 ~ \exists N (\varepsilon) \in \Bbb{N} \colon ~ n \geqslant N ~ \Rightarrow |x_n — a| < \varepsilon $$

Про Эгею

После довольно долгих поисков движка для блога, выбрал Эгею от Ильи Бирмана, главным образом из-за красивой верстки текста. В теории, движок позиционирует себя как «скопировал в папку и все работает». Но, на практике пришлось чуть-чуть повозиться.

Для начала, он не очень дружит с Nginx: не работают ЧПУ и вместо красивой ссылки https://agasiev.com/all/tgrm-me-bot/ будет https://agasiev.com/?go=all/tgrm-me-bot/. В целом, с этим можно бороться настройкой веб-сервера и конфига Эгеи, через force_canonical_urls, но для тэгов ссылки у меня так и не заработали, так что плюнул и поставил Apache.

Далее, движок плохо работает на PHP 7.2, из-за ругательств последнего на использование констант в массивах. Т. е. где-то в обфусцированном коде написано так:

$array_name[key_name];

А надо так:

$array_name['key_name'];

В принципе оба варианта в реальной жизни работают, но это плохой способ писать код на PHP, чреватый кучей ошибок, и поэтому с версии 7.2 интерпретатора такой стиль стал deprecated. Пришлось откатить PHP до версии 7.1.

А в остальном, прекрасная система, спасибо автору. Жаль только, что весь код обфусцирован, я бы хотел иметь вариант платной лицензии, по которой предоставляются исходники движка для доработки.

 Нет комментариев    106   2018   Блог   Эгея