Skip to content

Grid Table Plugin

Плагин @ampernic/markdown-it-grid-table добавляет поддержку расширенного ASCII-синтаксиса таблиц для Markdown-документов в VitePress.

📦 Установка

bash
npm install @ampernic/markdown-it-grid-table

🚀 Использование в VitePress

Добавьте плагин в конфигурацию VitePress:

typescript
// docs/.vitepress/config.ts
import { defineConfig } from 'vitepress';
import gridTablePlugin from '@ampernic/markdown-it-grid-table';

export default defineConfig({
  markdown: {
    config: (md) => {
      md.use(gridTablePlugin);
    }
  }
});

📖 Синтаксис таблиц

Плагин поддерживает таблицы в формате ASCII с границами из символов +, - и =.

Базовая таблица

markdown
+-------+-------+
| Колонка 1 | Колонка 2 |
+=======+=======+
| Данные 1 | Данные 2 |
+-------+-------+

Многострочные ячейки

markdown
+-------------+-------------+
| Заголовок A | Заголовок B |
+=============+=============+
| Ячейка      | Текст       |
| с           | во          |
| переносами  | второй      |
| строк       | колонке     |
+-------------+-------------+

Пример таблицы с Markdown

Вот как будет выглядеть таблица:

ПродуктЦена
Видеокарта$799
Процессор$349
Оперативная память$129

Выравнивание колонок

Двоеточия в верхней или нижней границе задают выравнивание (как в Pandoc):

markdown
+--------+:-------:+-------:+
| Слева  | Центр   | Справа |
+========+=========+========+
| a      | b       | c      |
+--------+---------+--------+

Таблица без заголовка кодируется двоеточиями прямо в верхней рамке (+:---:+---:+), без строки-разделителя +===+.

Подпись и якорь

После таблицы можно поставить строку : Подпись {#id} - она превращается в <caption> внутри <table> и вешает id на сам <table>, чтобы на неё можно было ссылаться:

markdown
+---+---+
| a | b |
+===+===+
| 1 | 2 |
+---+---+

: Таблица параметров {#params}

Опции

Передаются вторым аргументом в md.use(gridTablePlugin, options):

ОпцияТипПо умолчаниюОписание
enableAlignbooleantrueРазбирать : в границах как выравнивание колонок
enableMultiLinebooleantrueРазрешить многострочные ячейки
vitepressbooleantrueСтавить class="{prefix}-table" и переопределять table_open рендерер VitePress (иначе VitePress затирает атрибуты своим <table tabindex="0">)
classPrefixstring"vp"Префикс класса <table> (vp-table, custom-table, ...)