GFM-таблицы для README
GitHub Flavored Markdown (GFM) — расширение CommonMark, добавляющее таблицы, чек-листы, fenced code blocks, autolinks. README.md, DOCS.md, WIKI и issues на GitHub рендерятся через GFM. Таблицы — одна из самых полезных фич: красивая презентация данных без HTML.
Базовый синтаксис:
| Технология | Версия | Статус | | :--------- | :----: | -----: | | Node.js | 20.x | ✅ LTS | | TypeScript | 5.4 | ✅ stable | | React | 18.3 | ✅ stable |
Двоеточие в разделителе указывает выравнивание: :--- = лево, :---: = центр, ---: = право. Без двоеточий — по умолчанию лево.
Badges и эмодзи
Badges (shields.io) — фишка GitHub README: маленькие SVG-иконки со статусом проекта. Самые популярные:
| Метрика | Бейдж | | :------ | :----: | | Build |  | | Coverage |  | | Version |  | | Downloads |  | | License |  | | Stars |  |
Эмодзи (используйте либо unicode напрямую, либо :code:):
- ✅ ❌ — для статусов поддерживается / не поддерживается
- 🟢 🟡 🔴 — light/medium/heavy задачи
- ⚠️ — предупреждение / breaking change
- 🚀 🔥 — production ready / popular
- 🚧 🛠️ — work in progress / under construction
- 📦 📚 — package / documentation
- ⭐ — featured / recommended
Tables in GFM are an extension of the pipe tables syntax. The header row defines the columns; the alignment row controls visual layout. Cells with embedded HTML, links, and images are rendered correctly.— GitHub Flavored Markdown Spec, 2021
Готовые примеры
Сравнение технологий
| Фича | React | Vue | Svelte | | :--- | :---: | :---: | :---: | | TypeScript first-class | ✅ | ⚠️ | ✅ | | SSR из коробки | ❌ Next.js | ⚠️ Nuxt | ✅ SvelteKit | | Bundle size | 42KB | 33KB | 1.6KB | | Производительность | 8/10 | 9/10 | 10/10 | | Сообщество | 🟢 large | 🟢 large | 🟡 medium |
Чек-лист задач (с эмодзи)
| Задача | Статус | Owner | | :----- | :----: | :---- | | Setup CI/CD | ✅ Done | @alice | | Auth flow | 🚧 In progress | @bob | | Payment | 🛠️ Planning | @charlie | | Localization | ⏸️ Paused | — |
API endpoints
| Method | Endpoint | Description | | :----: | :------- | :---------- | | GET | /api/users | List all users | | GET | /api/users/:id | Get one user | | POST | /api/users | Create user | | PUT | /api/users/:id | Update user | | DELETE | /api/users/:id | Delete user |
Ограничения GFM
- Нет переносов строк в ячейке. Используйте
<br>для переноса. - Нет merged cells. Если нужно объединить ячейки (rowspan/colspan) — переключайтесь на HTML-таблицу.
- Нет вложенных таблиц. Таблица в ячейке — нельзя.
- Нет nested списков в ячейке. Маркированный список в ячейке = одна строка.
- Минимум 3 дефиса в разделителе.
| -- |— невалидно.| --- |— ОК. - Все строки одинаковой длины. Если разные количество
|— рендер сломается. - Не поддерживается caption. Подпись таблицы — пишется отдельно как параграф над/под таблицей.
- JavaScript отключен. Никаких onClick, динамической сортировки. Только статика.
Альтернативы для GitHub
- HTML-таблицы.
<table><tr><td>...</td></tr></table>— полная функциональность, включая merged cells. Минус — большой и нечитаемый исходник. - Mermaid диаграммы. GitHub рендерит mermaid: блок-схемы, диаграммы Ганта, sequence-диаграммы. Лучше для процессов чем таблицы.
- SVG. Сложные диаграммы или charts — экспортируйте в SVG, вставьте как
. - Collapsible details.
<details><summary>Click to expand</summary>...</details>— для больших таблиц по умолчанию свёрнутых. - Code blocks. Если данные имеют чёткую структуру (CSV, JSON) — вставьте как code block с подсветкой синтаксиса.
- GitHub Flavored Markdown Spec. GitHub. github.github.com/gfm. 2021.
- shields.io — Quality metadata badges. shields.io. shields.io. 2024.
- GitHub Docs — Organizing information with tables. GitHub. docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables. 2024.
