2014-09-13 22:31:33 +04:00
---
language: markdown
contributors:
- ["Dan Turkel", "http://danturkel.com/"]
2016-03-15 02:09:25 +03:00
- ["Jacob Ward", "http://github.com/JacobCWard/"]
translators:
2014-09-13 22:31:33 +04:00
- ["Pirogov Alexey", "http://twitter.com/alex_pir"]
2016-10-23 15:19:46 +03:00
- ["Andre Polykanine", "https://github.com/Oire"]
2014-09-13 22:34:40 +04:00
filename: markdown-ru.md
lang: ru-ru
2014-09-13 22:31:33 +04:00
---
2014-10-19 09:23:10 +04:00
Язык разметки Markdown создан Джоном Грубером (англ. John Gruber)
2016-03-15 02:09:25 +03:00
в 2004 году.
2014-10-19 09:23:10 +04:00
Авторы задавались целью создать максимально удобочитаемый
и удобный в публикации облегчённый язык разметки,
пригодный для последующего преобразования в HTML
(а также и в другие форматы).
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Также реализации Markdown варьируют в зависимости от парсера.
В этом руководстве будет указано, какие функции универсальны для языка,
а какие зависят от конкретного парсера.
## HTML-элементы
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
Markdown является надмножеством HTML, поэтому любой HTML-файл является
корректным документом Markdown.
2024-04-20 10:52:15 +03:00
```md
2016-03-15 02:09:25 +03:00
<!-- Это позволяет использовать напрямую
2014-10-19 09:23:10 +04:00
любые элементы HTML-разметки, такие, например, как этот комментарий.
2014-09-13 22:31:33 +04:00
Встроенные в документ HTML-элементы не затрагиваются парсером Markdown
2016-03-15 02:09:25 +03:00
и попадают в итоговый HTML без изменений. Однако следует понимать,
2014-10-19 09:23:10 +04:00
что эта же особенность не позволяет использовать разметку Markdown внутри
2014-09-13 22:31:33 +04:00
HTML-элементов -->
2018-08-29 14:43:21 +03:00
```
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
## Заголовки
2014-09-13 22:31:33 +04:00
2024-04-19 07:32:08 +03:00
HTML-элементы от `<h1>` до `<h6>` размечаются очень просто:
2014-10-19 09:23:10 +04:00
текст, который должен стать заголовком, предваряется
2016-03-15 02:09:25 +03:00
соответствующим количеством символов "#":
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
# Это заголовок h1
## Это заголовок h2
### Это заголовок h3
#### Это заголовок h4
##### Это заголовок h5
###### Это заголовок h6
2016-03-15 02:09:25 +03:00
```
2024-04-19 07:32:08 +03:00
Markdown позволяет размечать заголовки `<h1>` и `<h2>` ещё одним способом:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
Это заголовок h1
================
А это заголовок h2
------------------
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Простейшая стилизация текста
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Текст легко сделать полужирным и/или курсивным:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
*Этот текст будет выведен курсивом.*
2014-10-19 09:23:10 +04:00
_Т а к же, как этот._
2014-09-13 22:31:33 +04:00
**А этот текст будет полужирным.**
__И этот тоже.__
***Полужирный курсив.***
**_И тут!_**
*__И даже здесь!__*
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2024-04-04 14:06:33 +03:00
В GitHub Flavored Markdown, стандарте, который используется в GitHub,
2016-03-15 02:09:25 +03:00
текст также можно сделать зачёркнутым:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
~~Зачёркнутый текст.~~
2016-03-15 02:09:25 +03:00
```
## Абзацы
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Абзацами являются любые строки, следующие друг за другом.
Разделяются же абзацы одной или несколькими пустыми строками:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2016-03-15 02:09:25 +03:00
Это абзац. Я печатаю в абзаце, разве это не прикольно?
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
А тут уже абзац №2.
Эта строка всё ещё относится к абзацу №2!
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
О , а вот это уже абзац №3!
```
2014-09-13 22:31:33 +04:00
2024-04-20 10:52:15 +03:00
Для вставки принудительных переносов можно завершить абзац двумя
дополнительными пробелами:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2024-04-03 13:53:28 +03:00
Эта строка завершается двумя пробелами (выделите, чтобы увидеть!).
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Над этой строкой есть < br / > !
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Цитаты размечаются с помощью символа «>»:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
> Это цитата. В цитатах можно
2016-03-15 02:09:25 +03:00
> принудительно переносить строки, вставляя «>» в начало каждой следующей строки. А можно просто оставлять их достаточно длинными, и такие длинные строки будут перенесены автоматически.
2014-09-13 22:31:33 +04:00
> Разницы между этими двумя подходами к переносу строк нет, коль скоро
2016-03-15 02:09:25 +03:00
> каждая строка начинается с символа «>»
2014-09-13 22:31:33 +04:00
> А ещё цитаты могут быть многоуровневыми:
>> как здесь
>>> и здесь :)
> Неплохо?
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Списки
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
Маркированные списки размечаются вставкой в начало каждого элемента
одного из символов «*», «+» или «-»:
(символ должен быть одним и тем же для всех элементов)
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
* Список,
* Размеченный
2014-10-19 09:23:10 +04:00
* Звёздочками
2014-09-13 22:31:33 +04:00
либо
+ Список,
+ Размеченный
2014-10-19 09:23:10 +04:00
+ Плюсами
2014-09-13 22:31:33 +04:00
либо
- Список,
- Размеченный
2014-10-19 09:23:10 +04:00
- Дефисами
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
В нумерованных списках каждая строка начинается
с числа и точки вслед за ним:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
1. Первый элемент
2. Второй элемент
3. Третий элемент
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Заметьте, нумеровать элементы корректно необязательно. Достаточно указать
любое число в начале каждого элемента, и парсер пронумерует элементы сам!
Правда, злоупотреблять этим не стоит :)
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
1. Первый элемент
1. Второй элемент
1. Третий элемент
2016-03-15 02:09:25 +03:00
```
2024-04-19 07:32:08 +03:00
2016-03-15 02:09:25 +03:00
(Этот список будет отображён так же, как и предыдущий!)
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Списки могут быть вложенными:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
1. Введение
2. Начало работы
3. Примеры использования
* Простые
* Сложные
4. Заключение
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2024-04-19 07:32:08 +03:00
Можно даже делать списки задач. Блок ниже создаёт HTML-флажки.
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2016-03-15 02:09:25 +03:00
Для отметки флажка используйте «x»
2015-10-31 18:42:42 +03:00
- [ ] Первая задача
- [ ] Вторая задача
2016-03-15 02:09:25 +03:00
Этот флажок ниже будет отмечен
2015-10-31 18:42:42 +03:00
- [x] Задача была завершена
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Блоки кода
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Фрагменты исходного кода (обычно отмечаемые тегом `<code>` ) выделяются просто:
каждая строка блока должна иметь отступ в четыре пробела либо в один символ табуляции.
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
Это код,
2016-03-15 02:09:25 +03:00
причём многострочный
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Вы также можете делать дополнительные отступы, добавляя символы табуляции
2024-04-19 07:32:08 +03:00
или пробелы:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
my_array.each do |item|
2024-04-03 13:53:28 +03:00
puts item
2014-09-13 22:31:33 +04:00
end
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Иногда бывает нужно вставить фрагмент кода прямо в строку текста,
2014-09-13 22:31:33 +04:00
не выделяя код в блок. Для этого фрагменты кода нужно обрамлять
2016-03-15 02:09:25 +03:00
символами «`»:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2016-03-15 02:09:25 +03:00
Ваня даже не знал, что делает функция `go_to()` !
```
2014-09-13 22:31:33 +04:00
2024-04-04 14:06:33 +03:00
В GitHub Flavored Markdown для блоков кода можно использовать
2016-03-15 02:09:25 +03:00
специальный синтаксис:
2014-09-13 22:31:33 +04:00
2024-04-19 07:32:08 +03:00
````md
2024-04-03 13:53:28 +03:00
```ruby
2014-09-13 22:31:33 +04:00
def foobar
2024-04-03 13:53:28 +03:00
puts "Привет, мир!"
2014-09-13 22:31:33 +04:00
end
2024-04-03 13:53:28 +03:00
```
2024-04-19 07:32:08 +03:00
````
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
В о фрагменте, приведённом выше, отступ не требуется.
2024-07-06 13:55:17 +03:00
Кроме того, GitHub подсветит синтаксис языка, указанного после < code > ```< / code >
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Горизонтальный разделитель
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Разделители (`< hr > `) добавляются вставкой строки из трёх и более
(одинаковых) символов «*» или «-», с пробелами или без них:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
***
---
2016-03-15 02:09:25 +03:00
- - -
2014-09-13 22:31:33 +04:00
****************
2016-03-15 02:09:25 +03:00
```
## Ссылки
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Одной из сильных сторон Markdown можно смело считать то,
2014-10-19 09:23:10 +04:00
как просто размечаются гиперссылки. Для создания ссылки укажите
текст ссылки, заключив е г о в квадратные скобки,
2016-03-15 02:09:25 +03:00
и сразу после — URL-адрес, заключенный в круглые
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
[Ссылка! ](http://test.com/ )
2016-03-15 02:09:25 +03:00
```
2024-04-03 13:53:28 +03:00
2016-03-15 02:09:25 +03:00
Также для ссылки можно указать всплывающую подсказку (`title`), используя
кавычки внутри круглых скобок:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
[Ссылка! ](http://test.com/ "Ссылка на Test.com" )
2016-03-15 02:09:25 +03:00
```
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
Относительные пути тоже возможны:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
[Перейти к музыке ](/music/ ).
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Markdown также позволяет размечать ссылку в виде сноски:
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
```md
[Щёлкните эту ссылку][link1] для подробной информации!
[Также посмотрите эту ссылку,][foobar] если хотите.
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
[link1]: http://test.com/ "Круто!"
[foobar]: http://foobar.biz/ "Нормально!"
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
`Title` также может быть в одинарных кавычках или круглых скобках, а также
отсутствовать вовсе. Ссылки на сноски могут быть в любом месте документа,
а идентификаторы могут быть какими угодно, лишь бы они были уникальными.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Существует также неявное именование, когда ссылка является идентификатором.
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
```md
[Это][] ссылка.
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
[это]: http://thisisalink.com/
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Правда, эта возможность не очень распространена.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Изображения
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
Разметка изображений очень похожа на разметку ссылок.
Нужно всего лишь добавить перед ссылкой восклицательный знак!
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
![Альтернативный текст для изображения ](http://imgur.com/myimage.jpg "Подсказка" )
2016-03-15 02:09:25 +03:00
```
2024-04-03 13:53:28 +03:00
2022-06-15 12:17:20 +03:00
Изображения тоже могут быть оформлены как сноски.
2014-09-13 22:31:33 +04:00
2024-04-03 13:53:28 +03:00
```md
![Это альтернативный текст.][myimage]
[myimage]: relative/urls/cool/image.jpg "Если нужна подсказка, её можно добавить"
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
## Разное
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
### Автоссылки
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
Ссылка вида < http: / / testwebsite . com / > эквивалентна
[http://testwebsite.com/ ](http://testwebsite.com/ )
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
### Автоссылки для адресов электронной почты
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-09-13 22:31:33 +04:00
< foo @ bar . com >
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
### Экранирование символов
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2016-03-15 02:09:25 +03:00
Я хочу напечатать *текст, заключённый в звёздочки* , но я не хочу,
чтобы он был курсивным. Тогда я делаю так:
\*Текст, заключённый в звёздочки\*
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
### Клавиши на клавиатуре
2024-04-20 10:52:15 +03:00
2024-04-04 14:06:33 +03:00
В GitHub Flavored Markdown для представления клавиш на клавиатуре
2016-03-15 02:09:25 +03:00
вы можете использовать тег `<kbd>` .
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2015-10-31 18:42:42 +03:00
Ваш компьютер завис? Попробуйте нажать
< kbd > Ctrl< / kbd > +< kbd > Alt< / kbd > +< kbd > Del< / kbd >
2016-03-15 02:09:25 +03:00
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
### Таблицы
2024-04-20 10:52:15 +03:00
2016-03-15 02:09:25 +03:00
Таблицы официально поддерживаются только в GitHub Flavored Markdown,
2014-09-13 22:31:33 +04:00
да и синтаксис имеют не слишком удобный.
2016-03-15 02:09:25 +03:00
Н о если очень нужно, размечайте таблицы так:
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2014-10-19 09:23:10 +04:00
| Столбец 1 | Столбец 2 | Столбец 3 |
2014-09-13 22:31:33 +04:00
| :----------- | :----------: | -----------: |
| Выравнивание | Выравнивание | Выравнивание |
| влево | по центру | вправо |
2016-03-15 02:09:25 +03:00
```
2024-04-03 13:53:28 +03:00
2016-03-15 02:09:25 +03:00
Или более компактно
2014-09-13 22:31:33 +04:00
2018-08-29 14:43:21 +03:00
```md
2016-03-15 02:09:25 +03:00
Столбец 1|Столбец 2|Столбец 3
2014-09-13 22:31:33 +04:00
:--|:-:|--:
Выглядит|это|страшновато...
```
2016-03-15 02:09:25 +03:00
Н у вот и всё!
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
З а более подробной информацией обращайтесь к [статье ](http://daringfireball.net/projects/markdown/syntax ) Джона Грубера о синтаксисе Markdown.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
Также часто бывает полезной отличная ["шпаргалка" ](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet ) по Markdown от Адама Притчарда.