Menu
Coddy logo textTech

Шпаргалка по Markdown

Последнее обновление

Заголовки

Ставьте пробел после знаков #. Количество знаков задаёт уровень, от 1 до 6.

ЭлементMarkdownРезультат
Заголовок 1# Page titleЗаголовок верхнего уровня, <h1>
Заголовок 2## SectionЗаголовок раздела, <h2>
Заголовок 3### SubsectionЗаголовок подраздела, <h3>
Заголовки с 4 по 6#### Level 4 ##### Level 5 ###### Level 6<h4>, <h5> и <h6>
Заголовок 1, другой вариантPage title ==========<h1>, то же, что # Page title
Заголовок 2, другой вариантSection -------<h2>, то же, что ## Section
Закрывающие решётки## Section ##<h2>Section</h2>; знаки # в конце отбрасываются
Нет пробела#Not a headingОбычный абзац. Пробел после # обязателен

Жирный, курсив и зачёркивание

Звёздочки работают где угодно, даже внутри слова. Подчёркивания работают только на границах слов, поэтому snake_case остаётся как есть.

ЭлементMarkdownРезультат
Жирный**bold text**Жирный, <strong>bold text</strong>
Жирный, подчёркивания__bold text__Жирный, как выше
Курсив*italic text*Курсив, <em>italic text</em>
Курсив, подчёркивания_italic text_Курсив, как выше
Жирный курсив***bold and italic***<em><strong>bold and italic</strong></em>
Жирный внутри словаun**believ**ableЖирная только середина слова
Подчёркивания в словеsnake_case_nameОбычный текст, без курсива
Зачёркивание (GFM)~~no longer true~~Зачёркнуто, <del>no longer true</del>
Подчёркнутый текст<ins>underlined</ins>Подчёркнутый текст. В Markdown нет синтаксиса подчёркивания, поэтому это HTML
Выделение цветом<mark>highlighted</mark>Выделенный текст там, где сайт разрешает тег <mark>. В Markdown нет синтаксиса выделения цветом

Переносы строк и абзацы

Одно нажатие Enter внутри абзаца не начинает новую строку в результате. Используйте один из этих способов.

ЭлементMarkdownРезультат
Новый абзацFirst paragraph. Second paragraph.Два абзаца. Их разделяет пустая строка
Перенос: два пробелаRoses are red, Violets are blue.Один абзац с <br> после red,. Первая строка заканчивается двумя пробелами, которых не видно
Перенос: обратный слешRoses are red,\ Violets are blue.Тот же <br>, но с видимым маркером. Работает в CommonMark и на GitHub
Перенос: HTMLRoses are red,<br>Violets are blue.Тот же <br>. Работает и внутри ячейки таблицы
Одиночный перевод строкиRoses are red, Violets are blue.Одна строка: Roses are red, Violets are blue. В issues и комментариях GitHub перенос сохраняется, в файлах .md нет
Лишние пустые строкиOne. Two.То же, что одна пустая строка. Для большего отступа поставьте <br> на отдельной строке

Списки

Вложенный пункт выравнивайте по тексту пункта над ним: 2 пробела под - , 3 пробела под 1. .

ЭлементMarkdownРезультат
Маркированный список- Apples - Pears - PlumsМаркированный список, <ul> с тремя <li>
Другие маркеры* Apples + Pears* и + тоже создают маркеры. Смена символа начинает новый список
Нумерованный список1. Install 2. Configure 3. RunНумерованный список, <ol>
Ленивая нумерация1. Install 1. Configure 1. RunВсё равно нумеруется 1, 2, 3. Значение имеет только первое число
Начать с числа7. Seventh 8. Eighth<ol start="7">, нумерация с 7
Вложенный список- Fruit - Apple - Pear - VegetablesСписок внутри первого пункта
Вложенный, нумерованный1. Download - Windows - macOS 2. InstallМаркеры внутри шага 1 с отступом в 3 пробела
Абзац в пункте- First item More about the first item. - Second itemДва абзаца внутри первого пункта
Код в пункте1. Run this: ```bash npm install ``` 2. Start the appБлок кода внутри шага 1 с отступом до текста пункта

Списки задач (чекбоксы)

Расширение GitHub Flavored Markdown: пункт списка, который начинается с [ ] или [x], становится чекбоксом.

ЭлементMarkdownРезультат
Пустой чекбокс- [ ] Write testsНеотмеченный чекбокс
Отмеченный чекбокс- [x] Write testsОтмеченный чекбокс. [X] тоже работает
Чек-лист- [x] Draft - [ ] Review - [ ] PublishОдин отмеченный и два пустых. В issues и pull requests на GitHub их можно отмечать щелчком
Вложенные задачи- [ ] Release - [x] Tag the commit - [ ] Write the notesДве подзадачи под первым чекбоксом
Нет пробела- [] Write testsОбычный маркер с текстом [] Write tests. В скобках нужен пробел или x

Ссылки

Текст ссылки пишется в квадратных скобках, а адрес в круглых сразу после них, без пробела между ними.

ЭлементMarkdownРезультат
Встроенная ссылка[Coddy](https://coddy.tech)<a href="https://coddy.tech">Coddy</a>
Ссылка с заголовком[Coddy](https://coddy.tech "Learn to code")Та же ссылка. Заголовок показывается как подсказка при наведении
URL в угловых скобках<https://coddy.tech>Сам URL в виде ссылки
Голый URL (GFM)https://coddy.techСсылка на GitHub и других сайтах с GFM, которые также превращают в ссылки адреса с www.. В строгом CommonMark это обычный текст
Ссылка на email<hello@example.com>Ссылка mailto:
Ссылка-сноскаRead the [docs][1]. [1]: https://example.com/docsdocs ведёт на URL. Строка [1]: не показывается
Сокращённая ссылка-сноскаSee [GitHub]. [GitHub]: https://github.comGitHub ведёт на URL
Относительная ссылка[Install guide](docs/install.md)Ссылка на файл относительно текущего. На GitHub открывает файл в репозитории
Ссылка на заголовок[Jump to setup](#getting-started)Прокручивает к ## Getting Started на той же странице
ID заголовков## Getting Started!На GitHub получает ID getting-started: нижний регистр, пробелы становятся дефисами, пунктуация кроме - и _ удаляется
Заголовок в другом файле[Requirements](docs/install.md#requirements)Открывает файл на этом заголовке
Пробелы в URL[Report](my%20report.pdf)Записывайте каждый пробел как %20 или заключите URL в угловые скобки: [Report](<my report.pdf>)
Открыть в новой вкладке<a href="https://coddy.tech" target="_blank">Coddy</a>В Markdown для этого нет синтаксиса. HTML работает там, где сайт сохраняет атрибут target

Изображения

Изображение это ссылка с ! впереди. Текст в квадратных скобках становится альтернативным текстом, который зачитывают экранные дикторы.

ЭлементMarkdownРезультат
Изображение![A cat asleep on a sofa](cat.png)<img src="cat.png" alt="A cat asleep on a sofa">
Изображение с заголовком![Logo](logo.png "Coddy logo")То же изображение с подсказкой при наведении
Изображение по URL![Build status](https://example.com/badge.svg)Загружает изображение из интернета
Изображение-ссылка[![Logo](logo.png)](https://coddy.tech)Изображение, которое открывает ссылку по щелчку
Изображение-сноска![Logo][logo] [logo]: images/logo.pngТо же, что встроенное изображение, но URL задан один раз ниже
Размер изображения<img src="logo.png" alt="Logo" width="200">Изображение шириной 200 пикселей. В чистом Markdown нет синтаксиса для размера, поэтому это HTML-тег <img>
Изображение по центру<p align="center"> <img src="logo.png" alt="Logo" width="200"> </p>Изображение по центру, как во многих README на GitHub

Код и блоки кода

Обратные кавычки отмечают код внутри строки, а ограждение из трёх обратных кавычек отмечает блок. Внутри кода ничего не форматируется.

ЭлементMarkdownРезультат
Код в строкеRun `npm install` first.npm install моноширинным шрифтом, как <code>
Обратная кавычка внутри кода``Use `git` here``Код Use `git` here. Оберните его в большее число обратных кавычек, чем в нём есть
Блок кода``` npm install npm run dev ```Блок <pre><code> с сохранёнными переносами строк
Подсветка синтаксиса```python def greet(name): return f"Hello, {name}" ```Блок Python с цветной подсветкой. Частые названия: js, ts, python, bash, json, html, css, sql
Ограждение тильдами~~~js console.log("hi"); ~~~То же, что ограждение обратными кавычками
Код с отступом const total = 42;Блок кода из отступа в 4 пробела после пустой строки
Блок diff```diff - const x = 1; + const x = 2; ```Удалённые строки красным и добавленные зелёным на GitHub
Ограждение внутри блока````markdown ```js let a = 1; ``` ````Блок, который показывает внутреннее ограждение как текст. Внешнему ограждению нужно больше обратных кавычек, чем внутреннему

Таблицы

Расширение GitHub Flavored Markdown. Вторая строка, строка-разделитель, превращает первую строку в заголовок. В ней должно быть столько же ячеек, сколько в заголовке, иначе таблица не получится.

ЭлементMarkdownРезультат
Таблица| Name | Role | | ----- | ------ | | Ada | Admin | | Linus | Editor |Таблица со строкой заголовка и двумя строками
Выравнивание столбцов| Left | Center | Right | | :--- | :----: | ----: | | a | b | c |Двоеточия задают выравнивание: по левому краю, по центру, по правому краю
Без внешних вертикальных чертName | Role --- | --- Ada | AdminТа же таблица. Вертикальные черты в начале и конце строки необязательны
Ширина столбцов| a | b | |---|---| | 1 | 2 |Ширина зависит от содержимого. Количество дефисов не важно, и вертикальные черты не обязаны стоять ровно
Форматирование в ячейках| Command | Does | | --- | --- | | `git status` | Shows **changed** files |Код, жирный текст, ссылки и изображения работают внутри ячеек
Вертикальная черта в ячейке| Operator | Meaning | | --- | --- | | `a \| b` | a or b |Ячейка показывает a | b. Экранируйте черту как \|, даже внутри кода
Перенос строки в ячейке| Step | Notes | | --- | --- | | 1 | First line<br>Second line |Две строки в одной ячейке. Настоящий перевод строки завершил бы строку таблицы
Объединённые ячейки<td colspan="2">Both columns</td>Таблицы Markdown не умеют объединять ячейки. Напишите таблицу на HTML с colspan или rowspan

Цитаты

Начинайте каждую строку с >. Цитата может содержать любой другой Markdown.

ЭлементMarkdownРезультат
Цитата> Simple is better than complex.Цитата с отступом, <blockquote>
Несколько абзацев> First paragraph. > > Second paragraph.Одна цитата с двумя абзацами. Строка с одним > удерживает их вместе
Вложенная цитата> The reply >> The original messageЦитата внутри цитаты
Другие элементы внутри> #### Note > - Back up first > - Then upgradeЗаголовок и список внутри цитаты
Уведомление (GitHub)> [!NOTE] > Requires Node 20 or later.Цветной блок Note на GitHub. Другие типы: [!TIP], [!IMPORTANT], [!WARNING] и [!CAUTION]

Горизонтальные линии

Три и более дефиса, звёздочки или подчёркивания в отдельной строке рисуют линию поперёк страницы.

ЭлементMarkdownРезультат
Линия---Горизонтальная линия, <hr>
Другие формы*** ___Ещё две линии
Линия после текстаSome text ---Абзац, затем линия. Сохраняйте пустую строку
Нет пустой строкиSome text ---Заголовок уровня 2, а не линия: --- под строкой текста подчёркивает её

Сноски

Поддерживаются на GitHub, GitLab и во многих генераторах статических сайтов. В строгом CommonMark сносок нет.

ЭлементMarkdownРезультат
СноскаMarkdown dates from 2004.[^1] [^1]: John Gruber created it, with Aaron Swartz.Надстрочная 1 со ссылкой на примечание, которое выводится внизу страницы
Именованная сноскаSee the spec.[^spec] [^spec]: https://spec.commonmark.orgМетки могут быть словами, но примечания всё равно нумеруются 1, 2, 3 в порядке использования
Где её определить[^1]: The text of the note.Определение может стоять в любом месте файла. Выводится оно всегда в конце

Экранирование символов

Обратный слеш перед знаком пунктуации выводит сам знак вместо форматирования.

ЭлементMarkdownРезультат
Звёздочки как текст\*not italic\*Обычный текст со звёздочками: *not italic*
Решётка как текст\# Not a headingАбзац, который начинается с #
Число и точка2024\. A good year.Абзац, а не список, начинающийся с 2024
Скобки как текст\[not a link\](page.md)Квадратные и круглые скобки как набраны
Обратная кавычка как текст\`Одна обратная кавычка
Обратный слеш как текст\\Один обратный слеш
Что можно экранировать\ ` * _ {} [] () <> # + - . ! |Любую пунктуацию ASCII. Обратный слеш перед буквой или цифрой остаётся обратным слешем
HTML-сущности&copy; 2026 &amp; &lt;div&gt;© 2026 & <div> как текст
Внутри кода экранирования нет`*stars*`Код *stars* как набран. Внутри кода обратный слеш это обычный символ

HTML внутри Markdown

Большинство рендереров пропускают HTML, поэтому тег покрывает то, для чего в Markdown нет синтаксиса. GitHub удаляет небезопасный HTML, например <script>, <style>, <iframe> и атрибуты style.

ЭлементMarkdownРезультат
Клавиши клавиатурыPress <kbd>Ctrl</kbd> + <kbd>C</kbd>Ctrl и C в виде клавиш
Нижний и верхний индексH<sub>2</sub>O and x<sup>2</sup>H₂O и x²
Сворачиваемый раздел<details> <summary>Show the answer</summary> The answer is **42**. </details>Раздел, который раскрывается по щелчку. Пустые строки позволяют отобразиться Markdown внутри него
Markdown в блоке HTML<div> **not bold** </div>**not bold** как набрано. Markdown внутри блока HTML не читается, пока пустая строка не завершит блок
Цветной текст<span style="color: red">red</span>Красный текст на сайтах, которые разрешают встроенные стили. GitHub удаляет атрибут style

Комментарии

В Markdown нет синтаксиса комментариев. Два приёма убирают текст со страницы.

ЭлементMarkdownРезультат
Скрытый комментарий[//]: # (This line is never shown)Ничего. Строка это определение ссылки, которое никакая ссылка не использует, поэтому оно не попадает в HTML
Другая форма[comment]: <> (Also hidden)Ничего, тот же приём
HTML-комментарий<!-- TODO: add screenshots -->На странице ничего, но комментарий остаётся в исходном коде HTML
Многострочный комментарий<!-- This whole block is hidden -->На странице ничего
РазмещениеSome text. [//]: # (comment) More text.Два абзаца. Перед строкой комментария нужна пустая строка, иначе она показывается как текст

GitHub Flavored Markdown и дополнения GitHub

GitHub Flavored Markdown (GFM) это CommonMark плюс таблицы, списки задач, зачёркивание и автоссылки из URL. GitHub добавляет сверху ещё кое-что.

ВозможностьMarkdownГде работает
Таблицы| a | b | | --- | --- | | 1 | 2 |GFM: GitHub, GitLab и большинство инструментов документации
Списки задач- [x] DoneGFM
Зачёркивание~~text~~GFM
Автоссылки из URLwww.coddy.techGFM
Код с указанием языка```js let a = 1; ```CommonMark и GFM. Цвета задаёт сайт
СноскиText.[^1] [^1]: Note.GitHub и GitLab, хотя в спецификации GFM их нет
Эмодзи:rocket: :tada:GitHub и GitLab превращают шорткоды в эмодзи
Упоминания@octocatGitHub: ссылка на пользователя и уведомление ему
Ссылки на issues#123GitHub: ссылка на issue или pull request 123 в том же репозитории
Диаграммы```mermaid graph LR A --> B ```GitHub и GitLab рисуют диаграмму Mermaid
Формулы$E = mc^2$ $$ \sum_{i=1}^{n} i $$GitHub отображает формулы LaTeX: в строке между знаками $ и блоком между строками $$

Весь синтаксис Markdown на одной странице, рядом с тем, во что он превращается. Эта шпаргалка по Markdown охватывает основной синтаксис (заголовки, выделение, переносы строк, списки, ссылки, изображения, код, цитаты) и расширения GitHub Flavored Markdown: таблицы с выравниванием, списки задач, зачёркивание, автоссылки из URL и сноски, а также экранирование, HTML и комментарии.

Примеры следуют CommonMark и GitHub Flavored Markdown, правилам, на которых построены GitHub, GitLab и большинство инструментов документации. Там, где сайт ведёт себя иначе, об этом сказано в строке. Чтобы увидеть, как пример отображается прямо во время набора, вставьте его в редактор Markdown.

Вопросы о Markdown

Как сделать таблицу в Markdown?
Напишите строку заголовка с ячейками между вертикальными чертами, затем строку-разделитель из дефисов, затем по строке на каждую строку таблицы: | Name | Role |, | --- | --- |, | Ada | Admin |. Двоеточия в строке-разделителе выравнивают столбец: :--- по левому краю, :---: по центру, ---: по правому краю. Таблицы входят в GitHub Flavored Markdown, поэтому работают на GitHub, GitLab и в большинстве инструментов документации, но не в строгом CommonMark.
Как сделать перенос строки в Markdown?
Одиночный перевод строки внутри абзаца в результате игнорируется. Чтобы принудительно перенести строку, закончите её двумя пробелами или обратным слешем (\) либо напишите <br>. Чтобы начать новый абзац, оставьте пустую строку. Исключение составляют issues и комментарии на GitHub: там одиночный перевод строки уже показывается как перенос.
Как написать комментарий в Markdown?
Синтаксиса комментариев в Markdown нет, но работают два приёма. [//]: # (your comment) на отдельной строке с пустой строкой перед ней это определение ссылки, которое ничто не использует, поэтому оно не попадает ни на страницу, ни в HTML. HTML-комментарий <!-- your comment --> тоже не виден на странице, но остаётся в исходном коде HTML, где его может прочитать любой, кто откроет исходный код.
Как сделать блок кода в Markdown?
Поставьте три обратные кавычки на строке перед кодом и три на строке после него. Чтобы включить подсветку синтаксиса, добавьте название языка после открывающих кавычек, как в ```python. Для кода внутри предложения оберните его в одиночные обратные кавычки: `npm install`.
Как добавить чекбокс в Markdown?
Начните пункт списка с [ ] для пустого чекбокса или с [x] для отмеченного: - [ ] Review или - [x] Draft. Сохраняйте пробел внутри пустых скобок. Чекбоксы входят в GitHub Flavored Markdown, и в issues и pull requests на GitHub их можно отмечать щелчком.
Как изменить размер изображения в Markdown?
В чистом Markdown нет синтаксиса для размера: ![alt text](image.png) всегда показывает изображение в его собственном размере. Вместо этого используйте HTML-тег, например <img src="image.png" alt="alt text" width="300">, который принимают GitHub и большинство рендереров. Задавайте только ширину или только высоту, чтобы сохранить пропорции.
Как сделать ссылку на заголовок в Markdown?
Сошлитесь на ID заголовка через #: [Setup](#getting-started) переходит к ## Getting Started. GitHub строит ID из текста заголовка в нижнем регистре, заменяя пробелы дефисами и удаляя пунктуацию, кроме дефисов и подчёркиваний. Для заголовка в другом файле поставьте ID после имени файла: [Setup](docs/install.md#getting-started).
Что такое файл .md?
Обычный текстовый файл, написанный на Markdown. Обычные расширения .md и .markdown, а README.md это файл, который GitHub показывает на главной странице репозитория. Его открывает любой текстовый редактор; GitHub, сайты документации и просмотрщики Markdown отображают его как форматированный текст. Чтобы видеть файл отформатированным во время редактирования, вставьте его в редактор Markdown.
Coddy programming languages illustration

Изучайте Markdown с Coddy

НАЧАТЬ