Программирование и IT
Markdown таблица
Таблица в markdown собирается из вертикальных черт и строки-разделителя под шапкой. Ниже — синтаксис таблиц с выравниванием столбцов и короткая шпаргалка по остальной разметке: заголовки, списки, ссылки, картинки, код, цитаты и списки задач.
В этой статье
Таблица: минимальный пример#
Первая строка — шапка. Вторая, из дефисов, обязательна: именно она
превращает набор строк в таблицу. Дальше идут строки данных. При отрисовке
получается обычная таблица с жирной строкой заголовков и тремя столбцами;
лишние пробелы вокруг текста ячеек исчезают, поэтому выравнивать черты
пробелами в исходнике можно как угодно — на результат это не влияет.
Обычно в разделителе пишут по три дефиса на столбец, хотя формально хватает
одного. Что действительно обязательно — совпадение числа столбцов в
разделителе и в шапке: лишний или недостающий столбец ломает всю таблицу.
Крайние вертикальные черты по краям строки необязательны, но с ними таблицу
легче читать в исходнике.
Важная оговорка: таблиц нет в базовой спецификации CommonMark — это
расширение, которое поддерживают GitHub, GitLab и большинство редакторов.
В самописном или урезанном движке таблица может остаться строчками с
чертами, и это не ошибка записи.
Выравнивание столбцов#
Выравнивание задаётся двоеточиями в строке-разделителе:
Двоеточие слева — текст столбца прижат влево, двоеточия с обеих сторон —
по центру, двоеточие справа — вправо. Числовые столбцы почти всегда
выравнивают по правому краю: так одинаковые разряды стоят друг под другом и
числа удобно сравнивать глазами.
Перенести строку внутри ячейки нельзя: любая таблица — одна строка
исходника на одну строку таблицы. Если текст длинный, ставят <br> — но
он сработает только там, где разрешён HTML внутри markdown (GitHub его
разрешает, строгие движки — нет), — или выносят подробности под таблицу. Вертикальная черта внутри ячейки
экранируется обратным слешем — \|, иначе она разорвёт ячейку надвое.
Таблицы удобны для конспектов, где у каждой записи одинаковые поля: правило
слева, пример справа. Например, конспект по теме формулы сокращённого
умножения укладывается в две
колонки — формула и типичная ошибка.
Заголовки#
Заголовок — решётки в начале строки, пробел, текст. Одна решётка — верхний
уровень (# Заголовок), две — второй уровень, и так до шести. Пробел после
решёток обязателен: без него строка останется обычным текстом.
Отрисуется как заголовок второго уровня и вложенный в него заголовок
третьего. Уровни не пропускают: после второго идёт третий, а не пятый —
иначе ломается оглавление, которое многие движки собирают автоматически.
Есть и второй способ записи — подчёркивание строки знаками равенства или
дефисами снизу. Отсюда неожиданная ловушка: строка из трёх дефисов сразу
под абзацем превращает этот абзац в заголовок вместо того, чтобы нарисовать
горизонтальную линию. Чтобы получить линию, оставь перед дефисами пустую
строку.
Списки#
- - -
1. 2.
Маркированный список начинается с дефиса, звёздочки или плюса — все три
дают одинаковый результат, но внутри одного документа стоит держаться
одного знака. Нумерованный — число, точка, пробел. Вложенность задаётся
отступом в два-четыре пробела; табуляция работает не везде, поэтому
надёжнее пробелы.
Перед списком нужна пустая строка. Без неё абзац и список слипаются в один
текст с дефисами — самая частая жалоба на «сломанную разметку».
Нумерация пересчитывается при отрисовке: можно писать единицу во всех
пунктах, и список всё равно выйдет пронумерованным по порядку. Это удобно,
когда пункты часто меняются местами.
Ссылки и картинки#
Ссылка — текст в квадратных скобках, адрес в круглых. Картинка — то же
самое с восклицательным знаком впереди; текст в скобках становится
подписью для тех, кто не видит изображение. Если в адресе есть пробелы,
адрес берут в угловые скобки или заменяют пробел на %20.
Пропущенный восклицательный знак — причина ситуации «вместо картинки
появилась ссылка». Разметка при этом верная, просто описывает другое.
Код, цитаты и списки задач#
Код внутри строки заключают в одинарные обратные кавычки. Блок кода —
три обратные кавычки до и после, а после первых трёх пишут язык, чтобы
подсветка была верной:
Цитата — знак «больше» в начале строки:
Отрисуется как блок с вертикальной чертой слева. Пустая строка внутри
разрывает цитату на две, поэтому в каждой строке ставят свой знак.
Список задач — расширение, знакомое по GitHub:
- -
Скобки с пробелом внутри дают пустой флажок, скобки с буквой x —
отмеченный. Пробел между скобками обязателен: запись без пробела останется
обычным пунктом списка.
Что ещё стоит помнить#
Одиночный перевод строки внутри абзаца при отрисовке пропадает — текст
склеивается в один абзац. Чтобы получить перенос, ставят два пробела в
конце строки или обратный слеш.
Курсив — текст между одинарными звёздочками, полужирный — между двойными.
Звёздочку, решётку или подчёркивание, которые должны остаться символами,
экранируют обратным слешем.
Разметка задумана так, чтобы исходник читался и без отрисовки. Если файл
тяжело читать в блокноте, разметки в нём слишком много — обычно это знак,
что таблицу пора разбить на две или вынести длинный текст из ячеек.
План по этапам
- Шаг 1 — таблица из трёх строкСобрать шапку, разделитель и две строки данных; проверить совпадение числа столбцов.
- Шаг 2 — выравниваниеДобавить двоеточия в разделитель и выровнять числовой столбец вправо.
- Шаг 3 — остальная разметкаНаписать страницу с заголовками, списком, ссылкой, картинкой и блоком кода.
- Шаг 4 — ловушкиПроверить пустые строки перед списками и таблицами, экранирование черты и звёздочки.
- Шаг 5 — предпросмотрСверить исходник с отрисовкой в редакторе и исправить места, где разметка сработала не так.
Начать изучать эту тему у себя
План ляжет в твой репозиторий: отмечай этапы, веди конспект — история изменений покажет, как ты продвинулся.
Проверь себя
1.Какой разделитель в строке под шапкой выравнивает столбец по правому краю?
2.Как записать невыполненный пункт в списке задач?
3.Что делает запись ?
Источники
-
Markdown GuideСправочник по синтаксису и расширениям с примерамибесплатно
-
CommonMarkСпецификация базового синтаксиса и песочница для проверки разметкибесплатно
Было полезно?