Markdown в GitHub CMS: полный синтаксис и возможности

GitHub CMS расширяет стандартный Markdown тремя ключевыми возможностями: YAML frontmatter для метаданных, специальные блоки для структурирования контента, и публичные PixInLink URL для генерации изображений. Всё остальное — стандартный Markdown с безопасным HTML-санитайзером.

Структура Markdown-файла

---
title: "Заголовок статьи"
description: "Описание для SEO и превью"
slug: "url-статьи"
date: "2026-05-08"
author: "Имя автора"
category: "Категория"
tags:
  - тег1
  - тег2
schema_type: "Article"
layout: "article"
cover_image: "https://pixinlink.ru/api/v1/600x400/code-on-laptop-screen"
---

(блок: answer-first)
Краткий ответ на главный вопрос статьи.

(блок: key-facts)
## Ключевые факты
- Факт 1
- Факт 2

(блок: faq)
## FAQ
**Q: Вопрос?**
**A:** Ответ.

(блок: cta)
Призыв к действию.

Поддерживаемые элементы Markdown

Элемент Синтаксис Примечание
Заголовки ## H2, ### H3 H1 — только title из frontmatter
Жирный **текст**
Курсив *текст*
Ссылки [текст](url) target и rel сохраняются
Изображения ![alt](url) PixInLink URL или любые публичные URL
Списки - пункт Вложенные списки поддерживаются
Таблицы | A | B | Стандартный GitHub-flavored Markdown
Код `inline`, ```блок``` Подсветка через атрибут языка
Горизонтальная линия --- Только вне frontmatter

Ограничения HTML

HTML в Markdown проходит через санитайзер sanitize-html. Разрешены только безопасные теги:

  • a, img, section, article, p, h2-h6
  • ul, ol, li, table, thead, tbody, tr, td, th
  • strong, em, code, pre, blockquote
  • div, spanid и class)

Запрещены: <script>, <iframe>, <style>, onclick, javascript: URL.

FAQ

Q: Можно ли использовать HTML-таблицы вместо Markdown-таблиц? A: Да, санитайзер пропускает table, thead, tbody, tr, td, th. Но лучше использовать Markdown-таблицы — они читаются в исходном коде.

Q: Как вставить видео с YouTube? A: YouTube использует <iframe>, который запрещён санитайзером. Альтернатива: вставьте ссылку на видео и превью-изображение через PixInLink.

Q: Что если я вставлю запрещённый HTML? A: Санитайзер удалит запрещённые теги, оставив только текстовое содержимое. Статья соберётся, но без опасного HTML.

Проверьте свой Markdown

Создайте тестовый файл в content/blog/ и запустите npm run dev. Все изменения применяются мгновенно.

GitHub CMS расширяет стандартный Markdown тремя ключевыми возможностями: YAML frontmatter для метаданных, специальные блоки для структурирования контента, и публичные PixInLink URL для генерации изображений. Всё остальное — стандартный Markdown с безопасным HTML-санитайзером.

Структура Markdown-файла

---
title: "Заголовок статьи"
description: "Описание для SEO и превью"
slug: "url-статьи"
date: "2026-05-08"
author: "Имя автора"
category: "Категория"
tags:
  - тег1
  - тег2
schema_type: "Article"
layout: "article"
cover_image: "https://pixinlink.ru/api/v1/600x400/code-on-laptop-screen"
---

(блок: answer-first)
Краткий ответ на главный вопрос статьи.

(блок: key-facts)
## Ключевые факты
- Факт 1
- Факт 2

(блок: faq)
## FAQ
**Q: Вопрос?**
**A:** Ответ.

(блок: cta)
Призыв к действию.

Поддерживаемые элементы Markdown

Элемент Синтаксис Примечание
Заголовки ## H2, ### H3 H1 — только title из frontmatter
Жирный **текст**
Курсив *текст*
Ссылки [текст](url) target и rel сохраняются
Изображения ![alt](url) PixInLink URL или любые публичные URL
Списки - пункт Вложенные списки поддерживаются
Таблицы | A | B | Стандартный GitHub-flavored Markdown
Код `inline`, ```блок``` Подсветка через атрибут языка
Горизонтальная линия --- Только вне frontmatter

Ограничения HTML

HTML в Markdown проходит через санитайзер sanitize-html. Разрешены только безопасные теги:

  • a, img, section, article, p, h2-h6
  • ul, ol, li, table, thead, tbody, tr, td, th
  • strong, em, code, pre, blockquote
  • div, spanid и class)

Запрещены: <script>, <iframe>, <style>, onclick, javascript: URL.

FAQ