Расширения
Поверх CommonMark, GFM, математики и кода LibreTimes добавляет семейство блочных расширений: теоремные утверждения, выноски, иллюстрации с подписями, сворачиваемые секции, вкладки, диаграммы TikZ, видеовставки, упоминания и ссылки на вложения. Почти все они разделяют один синтаксис: выучите его один раз – и каждый блок на следующих страницах станет просто словарной статьёй.
Синтаксис директив
Блочная директива – это ограждённая область, открытая тремя (или более) двоеточиями и именем, и закрытая такой же строкой двоеточий:
:::имя[метка]{атрибуты}
Любое содержимое Markdown.
:::Три части, две из них опциональны:
имя– какой это блок:theorem,note,figure,spoiler,tabs,tikz, ...[метка]– необязательный текст в квадратных скобках на открывающей строке. Значение зависит от блока: имя теоремы, заголовок спойлера.{атрибуты}– необязательные пары{key=value}или{#id}. Их используют иллюстрации ({#fig1}) и вкладки ({name="Python"}).
Тело – обычный Markdown: абзацы, формулы, списки, код, даже другие директивы.
Вложенность
Чтобы вложить одну директиву в другую, дайте внешней ограде больше двоеточий, чем внутренней:
::::proof
Отображение раскладывается, как показано:
:::tikz
\begin{tikzpicture} ... \end{tikzpicture}
:::
::::(Вложенность с равным числом двоеточий, которую пишет редактор LibreTimes, чинится автоматически при рендеринге, но при письме от руки правило – больше двоеточий снаружи.)
Неизвестные имена
Директива с именем вне словаря рендерится простым контейнером: содержимое
показывается, оформления нет. Ничего не ломается – но проверьте написание:
:::theorm теоремой выглядеть не будет. Чтобы показать буквальный синтаксис
директивы (как на этой странице), поместите его в блок кода.
Словарь
| Блок | Имена | Страница |
|---|---|---|
| Утверждения | theorem, lemma, corollary, definition, proof, example, remark | Утверждения |
| Выноски | note, tip, important, warning, caution, callout | Выноски |
| Иллюстрации | figure | Иллюстрации |
| Сворачиваемые секции | spoiler | Сворачиваемые секции |
| Вкладки | tabs, tab | Вкладки |
| Диаграммы TikZ | tikz | TikZ |
Три строчных расширения используют собственный синтаксис вместо директив:
видеовставки (@[youtube](...)),
упоминания
(@handle) и
ссылки на вложения
(:attach[...]{#id}).