Поддержка формул на сайте

За отображение формул отвечает отдельная библиотека — Катек (\(\KaTeX \)). Она основана на Теке (\(\TeX\)) Дональда Кнута. Катек рендерит быстрее аналогов и прост в использовании.

Чтобы Катек отрендерил формулы, страница с формулами должна содержать ссылку на библиотеку в заголовке. Благодаря шаблонам Хьюго можно создать отдельный файл, содержащий эту ссылку, и указать файл в шаблоне страниц с формулами (формулы могут находится внутри поста или выводится на главную).

Создадим файл math.html в папке /layouts/partials/ и вставим в него следующий код:

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.3/dist/katex.min.css" integrity="sha384-KiWOvVjnN8qwAZbuQyWDIbfCLFhLXNETzBQjA/92pIowpC0d2O3nppDGQVgwd2nB" crossorigin="anonymous">

    <script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.3/dist/katex.min.js" integrity="sha384-0fdwu/T/EQMsQlrHCCHoH10pkPLlKA1jL5dFyUOvB3lfeT2540/2g6YgSi2BL14p" crossorigin="anonymous"></script>

    <script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.3/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous"
        onload="renderMathInElement(document.body);"></script>

В шаблоне поста (/layouts/_default/single.html) укажем, нужно ли добавлять Катек (завист от параметра math, указываемого нами посте):

{{ if or .Params.math .Site.Params.math }}
  {{ partial "math.html" . }}
{{ end }}

Добавив в фронт меттер поста math: true, получим отрендеренные формулы: $$E=mc^2$$

Кстати, \(\KaTeX\) и \(\TeX\) тоже написаны с помощь Катека.