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):
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
enableAlign | boolean | true | Разбирать : в границах как выравнивание колонок |
enableMultiLine | boolean | true | Разрешить многострочные ячейки |
vitepress | boolean | true | Ставить class="{prefix}-table" и переопределять table_open рендерер VitePress (иначе VitePress затирает атрибуты своим <table tabindex="0">) |
classPrefix | string | "vp" | Префикс класса <table> (vp-table, custom-table, ...) |