Библиотека Markdown-it в JavaScript предоставляет
расширяемый парсер Markdown, который поддерживает не только стандартный
синтаксис, но и различные плагины для расширенной разметки. Одним из
часто используемых приёмов является работа с надстрочным
(superscript) и подстрочным (subscript)
текстом. Это особенно важно для научных, технических и математических
текстов.
Для использования надстрочного и подстрочного текста требуется основной пакет markdown-it и соответствующие плагины:
const MarkdownIt = require('markdown-it');
const markdownItSup = require('markdown-it-sup');
const markdownItSub = require('markdown-it-sub');
const md = new MarkdownIt();
md.use(markdownItSup);
md.use(markdownItSub);
Здесь markdown-it-sup отвечает за синтаксис надстрочного
текста, а markdown-it-sub — за подстрочный. Плагины
добавляют новые правила разметки, которые не входят в стандарт
Markdown.
Надстрочный текст обозначается с помощью символа ^:
H^2^O
После обработки Markdown-it с подключённым плагином, этот код преобразуется в HTML:
H<sup>2</sup>O
Особенности синтаксиса:
^ должен окружать текст без пробелов с обеих
сторон: x^2^ корректно, а x^ 2 ^ — нет.E = mc^2^.Подстрочный текст обозначается с помощью символа ~:
CO~2~
Результат преобразования в HTML:
CO<sub>2</sub>
Особенности синтаксиса:
H~2~O правильно, а H~ 2 ~O —
нет.Markdown-it позволяет комбинировать оба типа разметки в одном выражении:
X~i~^2^
Результат в HTML:
X<sub>i</sub><sup>2</sup>
При этом важно правильно закрывать каждую разметку, чтобы парсер
корректно создавал соответствующие теги <sub> и
<sup>.
Некоторые плагины позволяют настраивать поведение:
^ или ~ на другой, если это необходимо для
проекта.Пример изменения маркера надстрочного текста:
md.use(require('markdown-it-sup'), { marker: '˄' });
Теперь надстрочный текст будет обозначаться как
x˄2˄.
Надстрочный и подстрочный текст корректно работают с:
**H^2^O** →
<strong>H<sup>2</sup>O</strong>^ и ~ не интерпретируются как
над- или подстрочный текст.^ и ~) для над- и
подстрочного текста.Markdown-it с плагинами markdown-it-sup и markdown-it-sub позволяет легко внедрять сложную разметку для над- и подстрочного текста, обеспечивая гибкость и точность в отображении технических и научных материалов.