Списки определений (Definition Lists) представляют собой особый тип
структурирования информации, где каждому термину соответствует его
определение. В Markdown это расширение не входит в стандарт, поэтому для
работы с ним в библиотеке Markdown-it необходимо
использовать плагин markdown-it-deflist.
Для использования списков определений требуется подключение соответствующего плагина:
const MarkdownIt = require('markdown-it');
const deflist = require('markdown-it-deflist');
const md = new MarkdownIt();
md.use(deflist);
После подключения плагина синтаксис списков определений становится доступным.
Стандартная структура списка определений выглядит так:
Термин 1
: Определение термина 1
Термин 2
: Первое определение термина 2
: Второе определение термина 2
Особенности синтаксиса:
: и пробела.Пример с многострочным определением:
Функция
: Блок кода, который выполняет определённое действие.
Может принимать аргументы и возвращать значения.
Markdown-it с подключенным плагином преобразует список определений в
HTML с тегами <dl>, <dt> и
<dd>:
<dl>
<dt>Термин 1</dt>
<dd>Определение термина 1</dd>
<dt>Термин 2</dt>
<dd>Первое определение термина 2</dd>
<dd>Второе определение термина 2</dd>
</dl>
<dl> — контейнер всего списка определений.<dt> — отдельный термин.<dd> — определение термина.В определениях могут использоваться другие элементы Markdown, включая:
Пример:
Фреймворк
: **JavaScript** библиотека для создания пользовательских интерфейсов.
Содержит:
- Компоненты
- Директивы
- События
HTML преобразуется следующим образом:
<dl>
<dt>Фреймворк</dt>
<dd>
<p><strong>JavaScript</strong> библиотека для создания пользовательских интерфейсов.</p>
<ul>
<li>Компоненты</li>
<li>Директивы</li>
<li>События</li>
</ul>
</dd>
</dl>
Плагин поддерживает опции конфигурации для управления отступами и разметкой:
md.use(deflist, {
multiline: true, // Разрешает многострочные определения без дополнительного пробела
marker: ':' // Позволяет менять символ, используемый для начала определения
});
multiline: true — позволяет определению занимать
несколько строк без необходимости строгого соблюдения пробелов.marker — позволяет заменить стандартное :
на другой символ, например ->, если требуется кастомная
разметка.: не будет интерпретирована как определение.Списки определений идеально подходят для:
API Метод
: Получает данные с сервера.
Параметры:
1. `url` — адрес запроса
2. `options` — объект настроек
Возвращает `Promise` с результатом.
Результат HTML:
<dl>
<dt>API Метод</dt>
<dd>
<p>Получает данные с сервера.</p>
<ol>
<li><code>url</code> — адрес запроса</li>
<li><code>options</code> — объект настроек</li>
</ol>
<p>Возвращает <code>Promise</code> с результатом.</p>
</dd>
</dl>
Списки определений в Markdown-it позволяют не только структурировать информацию, но и создавать сложные, многоуровневые элементы документации, сохраняя читаемость и удобство редактирования в текстовом виде.