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-элементы ](#html-elements )
- [Заголовки ](#headings )
- [Простейшая стилизация текста ](#simple-text-styles )
- [Абзацы ](#paragraphs )
- [Списки ](#lists )
- [Блоки кода ](#code-blocks )
- [Горизонтальный разделитель ](#horizontal-rule )
- [Ссылки ](#links )
- [Изображения ](#images )
- [Разное ](#miscellany )
## HTML-элементы
Markdown является надмножеством HTML, поэтому любой HTML-файл является
корректным документом Markdown.
2014-09-13 22:31:33 +04:00
```markdown
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-элементов -->
2016-03-15 02:09:25 +03:00
## Заголовки
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
HTML-элементы от < h1 > до < h6 > размечаются очень просто:
2014-10-19 09:23:10 +04:00
текст, который должен стать заголовком, предваряется
2016-03-15 02:09:25 +03:00
соответствующим количеством символов "#":
```markdown
2014-09-13 22:31:33 +04:00
# Это заголовок h1
## Это заголовок h2
### Это заголовок h3
#### Это заголовок h4
##### Это заголовок h5
###### Это заголовок h6
2016-03-15 02:09:25 +03:00
```
Markdown позволяет размечать заголовки < h1 > и < h2 > ещё одним способом:
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
Это заголовок 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
2016-03-15 02:09:25 +03:00
```markdown
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
2016-03-15 02:09:25 +03:00
В Github Flavored Markdown, стандарте, который используется в Github,
текст также можно сделать зачёркнутым:
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
~~Зачёркнутый текст.~~
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-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
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
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
2016-03-15 02:09:25 +03:00
```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
> Разницы между этими двумя подходами к переносу строк нет, коль скоро
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
```markdown
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
2016-03-15 02:09:25 +03:00
```markdown
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
2016-03-15 02:09:25 +03:00
```markdown
2014-09-13 22:31:33 +04:00
1. Первый элемент
1. Второй элемент
1. Третий элемент
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-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
2016-03-15 02:09:25 +03:00
Можно даже делать списки задач. Блок ниже создаёт HTML-флажки.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
```markdown
Для отметки флажка используйте «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>` ) выделяются просто:
каждая строка блока должна иметь отступ в четыре пробела либо в один символ табуляции.
```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
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
my_array.each do |item|
puts item
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
2016-03-15 02:09:25 +03:00
```markdown
Ваня даже не знал, что делает функция `go_to()` !
```
2014-09-13 22:31:33 +04: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
< pre >
< code class = "highlight" > ` ` ` ruby
2014-09-13 22:31:33 +04:00
def foobar
2016-03-15 02:09:25 +03:00
puts "Привет, мир!"
2014-09-13 22:31:33 +04:00
end
2016-03-15 02:09:25 +03:00
` ` ` < / code > < / pre >
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
В о фрагменте, приведённом выше, отступ не требуется.
Кроме того, Github подсветит синтаксис языка, указанного после \`\`\`
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
2016-03-15 02:09:25 +03:00
```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
****************
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
2016-03-15 02:09:25 +03:00
```markdown
2014-09-13 22:31:33 +04:00
[Ссылка! ](http://test.com/ )
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
```markdown
2014-09-13 22:31:33 +04:00
[Ссылка! ](http://test.com/ "Ссылка на Test.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
```markdown
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
2016-03-15 02:09:25 +03:00
< pre > < code class = "highlight" > [ < span class = "nv" > Щёлкните эту ссылку< / span > ][< span class = "ss" > link1< / span > ] для подробной информации!
[ < span class = "nv" > Также посмотрите эту ссылку,< / span > ][< span class = "ss" > foobar< / span > ] если хотите.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
[ < span class = "nv" > link1< / span > ]: < span class = "sx" > http://test.com/< / span > < span class = "nn" > "Круто!"< / span >
[ < span class = "nv" > foobar< / span > ]: < span class = "sx" > http://foobar.biz/< / span > < span class = "nn" > "Нормально!"< / span > < / code > < / pre >
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
2016-03-15 02:09:25 +03:00
< pre > < code class = "highlight" > [ < span class = "nv" > Это< / span > ][] ссылка.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
[ < span class = "nv" > это< / span > ]: < span class = "sx" > http://thisisalink.com/< / span > < / code > < / pre >
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-09-13 22:31:33 +04:00
![Альтернативный текст для изображения ](http://imgur.com/myimage.jpg "Подсказка" )
2016-03-15 02:09:25 +03:00
```
Изображения тоже могут быть оформлены, как сноски.
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
< pre > < code class = "highlight" > ![ < span class = "nv" > Это альтернативный текст.< / span > ][< span class = "ss" > myimage< / span > ]
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
[ < span class = "nv" > myimage< / span > ]: < span class = "sx" > relative/urls/cool/image.jpg< / span > < span class = "nn" > "Если нужна подсказка, её можно добавить"< / span > < / code > < / pre >
## Разное
### Автоссылки
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
Ссылка вида < 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
2016-03-15 02:09:25 +03:00
```markdown
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
2016-03-15 02:09:25 +03:00
```markdown
Я хочу напечатать *текст, заключённый в звёздочки* , но я не хочу,
чтобы он был курсивным. Тогда я делаю так:
\*Текст, заключённый в звёздочки\*
```
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
### Клавиши на клавиатуре
В Github Flavored Markdown для представления клавиш на клавиатуре
вы можете использовать тег `<kbd>` .
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
```markdown
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
### Таблицы
Таблицы официально поддерживаются только в 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
2016-03-15 02:09:25 +03:00
```markdown
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
```
Или более компактно
2014-09-13 22:31:33 +04:00
2016-03-15 02:09:25 +03:00
```markdown
Столбец 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 от Адама Притчарда.