Как использовать mhchem в WordPress? [закрыто]

Вопрос или проблема

Мне нужно писать химические формулы в публикациях WordPress. Для этого я хочу использовать пакет mhchem. Я готов использовать плагин для этого, но в репозитории WordPress.org его, похоже, нет.

Как указано здесь, расширение mhchem можно включить в конфигурациях mathjax, добавив следующее в массив расширений в блоке TeX.

TeX: { extensions: ["mhchem.js"] }

Я могу загрузить Mathjax на свой сервер (используя плагин Mathjax-Latex). Поскольку Mathjax доступен на моем сервере, я надеюсь, что пакет mhchem можно использовать через вышеупомянутую настройку в Mathjax, но не могу понять, где и как? Я обратился за помощью на форум поддержки плагина Mathjax-latex, но даже через год не получил ответа.

Любая помощь в этом отношении приветствуется. Мне бы хорошо подошло, если это будет через плагин Mathjax-Latex или как-либо иначе.

Плагин Mathjax предоставляет фильтр под названием mathjax_config, который можно использовать для добавления параметров конфигурации, что-то похожее на это должно сработать:

add_filter( 'mathjax_config', function() {
    return ['Tex' => [ 'extensions'=> [ 'path/to/mchem.js'] ] ];
});

Если вы хотите убрать зависимость от плагина, вам нужно зарегистрировать библиотеку mathjax и белый список всех соответствующих тегов, чтобы они не были удалены при сохранении поста с помощью wp_kses_post

Ответ или решение

Когда речь идет о публикации химических формул на платформе WordPress, особенно если вы хотите использовать пакет mhchem для этого, важно понимать, как интегрировать конкретные математические расширения в WordPress. В вашем случае вы хотите добавить возможность использования концентраций и химических реакций, которые предоставляет пакет mhchem в MathJax, используемый через плагин MathJax-Latex.

Теория

Пакет mhchem представляет собой расширение для MathJax, предназначенное для отображения химических уравнений и формул в формате TeX. MathJax — это JavaScript-библиотека, обеспечивающая удобный способ отображения математических выражений через страницы web. Поддержка mhchem позволяет среде MathJax отображать мнемоники химических формул, таких как \ce{H2O}.

Пример

Чтобы добавить mhchem к вашей конфигурации MathJax на WordPress, вы правильно заметили, что необходимо указать mhchem в разделе расширений в настройках MathJax. Конфигурация MathJax может выглядеть так:

TeX: { extensions: ["mhchem.js"] }

В данном контексте расширение mhchem.js позволит поддержать написание химических формул в вашем WordPress-блоге.

Применение

  1. Использование MathJax-Latex плагина: Вы уже установили плагин MathJax-Latex на ваш сайт WordPress. Плагин MathJax-Latex предлагает фильтр mathjax_config, который позволяет добавлять конфигурационные параметры для MathJax.

    Чтобы интегрировать mhchem, можно использовать следующий код:

    add_filter('mathjax_config', function() {
       return [
           'TeX' => [
               'extensions' => ['path/to/mhchem.js']
           ]
       ];
    });

    Этот код добавляется в functions.php вашей темы WordPress или в пользовательский плагин, если таковой имеется. Путь path/to/mhchem.js следует заменить на фактическое местоположение вашего mhchem.js файла на сервере.

  2. Удаление зависимости от плагина: Если вы предпочитаете не использовать плагин, можно вручную загрузить библиотеку MathJax. Это требует добавления MathJax с нужными настройками прямо в вашу тему WordPress. В functions.php темы можно добавить новый скрипт для регистрации и вклада MathJax:

    function enqueue_custom_mathjax() {
       wp_enqueue_script(
           'mathjax-script',
           'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-AMS_HTML', // здесь убедитесь, что настраиваете путь к вашей установке MathJax
           array(),
           null,
           true
       );
    
       wp_add_inline_script('mathjax-script', 'MathJax.Hub.Config({ TeX: { extensions: ["mhchem.js"] } });');
    }
    add_action('wp_enqueue_scripts', 'enqueue_custom_mathjax');

    Здесь мы используем CDN, но если mhchem.js доступен на вашем сервере, его можно загрузить непосредственно, добавив соответствующий script src.

  3. Обратите внимание на Kses: WordPress по умолчанию использует функцию wp_kses_post для фильтрации HTML, сохраняемого в базе данных из-за соображений безопасности. Это может выбросить любые нестандартные теги из вашего MathJax кода. Для решения этой проблемы убедитесь, что любые используемые теги находятся в белом списке. Это можно сделать путем изменения конфигурации kses.

Подводя итог, интеграция mhchem в WordPress сочетает использование гибкости плагинов MathJax и точной настройки движка WordPress. Следуя перечисленным шагам, вы получите стабильное отображение химических формул, необходимое для ваших нужд.

Оцените материал
Добавить комментарий

Капча загружается...