learnxinyminutes-docs/ru-ru/markdown-ru.html.markdown

357 lines
14 KiB
Markdown
Raw Normal View History

2014-09-13 22:31:33 +04:00
---
language: markdown
contributors:
- ["Dan Turkel", "http://danturkel.com/"]
- ["Jacob Ward", "http://github.com/JacobCWard/"]
translators:
2014-09-13 22:31:33 +04:00
- ["Pirogov Alexey", "http://twitter.com/alex_pir"]
- ["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)
в 2004 году.
2014-10-19 09:23:10 +04:00
Авторы задавались целью создать максимально удобочитаемый
и удобный в публикации облегчённый язык разметки,
пригодный для последующего преобразования в HTML
(а также и в другие форматы).
2014-09-13 22:31:33 +04:00
Также реализации Markdown варьируют в зависимости от парсера.
В этом руководстве будет указано, какие функции универсальны для языка,
а какие зависят от конкретного парсера.
- [HTML-элементы](#html-elements)
- [Заголовки](#headings)
- [Простейшая стилизация текста](#simple-text-styles)
- [Абзацы](#paragraphs)
- [Списки](#lists)
- [Блоки кода](#code-blocks)
- [Горизонтальный разделитель](#horizontal-rule)
- [Ссылки](#links)
- [Изображения](#images)
- [Разное](#miscellany)
## HTML-элементы
Markdown является надмножеством HTML, поэтому любой HTML-файл является
корректным документом Markdown.
```md
<!-- Это позволяет использовать напрямую
2014-10-19 09:23:10 +04:00
любые элементы HTML-разметки, такие, например, как этот комментарий.
2014-09-13 22:31:33 +04:00
Встроенные в документ HTML-элементы не затрагиваются парсером Markdown
и попадают в итоговый HTML без изменений. Однако следует понимать,
2014-10-19 09:23:10 +04:00
что эта же особенность не позволяет использовать разметку Markdown внутри
2014-09-13 22:31:33 +04:00
HTML-элементов -->
```
2014-09-13 22:31:33 +04:00
## Заголовки
2014-09-13 22:31:33 +04:00
HTML-элементы от <h1> до <h6> размечаются очень просто:
2014-10-19 09:23:10 +04:00
текст, который должен стать заголовком, предваряется
соответствующим количеством символов "#":
```md
2014-09-13 22:31:33 +04:00
# Это заголовок h1
## Это заголовок h2
### Это заголовок h3
#### Это заголовок h4
##### Это заголовок h5
###### Это заголовок h6
```
Markdown позволяет размечать заголовки <h1> и <h2> ещё одним способом:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
Это заголовок h1
================
А это заголовок h2
------------------
```
2014-09-13 22:31:33 +04:00
## Простейшая стилизация текста
2014-09-13 22:31:33 +04:00
Текст легко сделать полужирным и/или курсивным:
2014-09-13 22:31:33 +04: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-09-13 22:31:33 +04:00
В Github Flavored Markdown, стандарте, который используется в Github,
текст также можно сделать зачёркнутым:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
~~Зачёркнутый текст.~~
```
## Абзацы
2014-09-13 22:31:33 +04:00
Абзацами являются любые строки, следующие друг за другом.
Разделяются же абзацы одной или несколькими пустыми строками:
2014-09-13 22:31:33 +04:00
```md
Это абзац. Я печатаю в абзаце, разве это не прикольно?
2014-09-13 22:31:33 +04:00
А тут уже абзац №2.
Эта строка всё ещё относится к абзацу №2!
2014-09-13 22:31:33 +04:00
О, а вот это уже абзац №3!
```
2014-09-13 22:31:33 +04:00
Для вставки принудительных переносов можно завершить абзац двумя дополнительными пробелами:
2014-09-13 22:31:33 +04:00
```md
Эта строка завершается двумя пробелами (выделите, чтобы увидеть!).
2014-09-13 22:31:33 +04:00
Над этой строкой есть <br />!
```
2014-09-13 22:31:33 +04:00
Цитаты размечаются с помощью символа «>»:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
> Это цитата. В цитатах можно
> принудительно переносить строки, вставляя «>» в начало каждой следующей строки. А можно просто оставлять их достаточно длинными, и такие длинные строки будут перенесены автоматически.
2014-09-13 22:31:33 +04:00
> Разницы между этими двумя подходами к переносу строк нет, коль скоро
> каждая строка начинается с символа «>»
2014-09-13 22:31:33 +04:00
> А ещё цитаты могут быть многоуровневыми:
>> как здесь
>>> и здесь :)
> Неплохо?
```
2014-09-13 22:31:33 +04:00
## Списки
Маркированные списки размечаются вставкой в начало каждого элемента
одного из символов «*», «+» или «-»:
(символ должен быть одним и тем же для всех элементов)
2014-09-13 22:31:33 +04: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
- Дефисами
```
2014-09-13 22:31:33 +04:00
В нумерованных списках каждая строка начинается
с числа и точки вслед за ним:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
1. Первый элемент
2. Второй элемент
3. Третий элемент
```
2014-09-13 22:31:33 +04:00
Заметьте, нумеровать элементы корректно необязательно. Достаточно указать
любое число в начале каждого элемента, и парсер пронумерует элементы сам!
Правда, злоупотреблять этим не стоит :)
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
1. Первый элемент
1. Второй элемент
1. Третий элемент
```
(Этот список будет отображён так же, как и предыдущий!)
2014-09-13 22:31:33 +04:00
Списки могут быть вложенными:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
1. Введение
2. Начало работы
3. Примеры использования
* Простые
* Сложные
4. Заключение
```
2014-09-13 22:31:33 +04:00
Можно даже делать списки задач. Блок ниже создаёт HTML-флажки.
2014-09-13 22:31:33 +04:00
```md
Для отметки флажка используйте «x»
2015-10-31 18:42:42 +03:00
- [ ] Первая задача
- [ ] Вторая задача
Этот флажок ниже будет отмечен
2015-10-31 18:42:42 +03:00
- [x] Задача была завершена
```
2014-09-13 22:31:33 +04:00
## Блоки кода
2014-09-13 22:31:33 +04:00
Фрагменты исходного кода (обычно отмечаемые тегом `<code>`) выделяются просто:
каждая строка блока должна иметь отступ в четыре пробела либо в один символ табуляции.
```md
2014-09-13 22:31:33 +04:00
Это код,
причём многострочный
```
2014-09-13 22:31:33 +04:00
Вы также можете делать дополнительные отступы, добавляя символы табуляции
или по четыре пробела:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
my_array.each do |item|
puts item
end
```
2014-09-13 22:31:33 +04:00
Иногда бывает нужно вставить фрагмент кода прямо в строку текста,
2014-09-13 22:31:33 +04:00
не выделяя код в блок. Для этого фрагменты кода нужно обрамлять
символами «`»:
2014-09-13 22:31:33 +04:00
```md
Ваня даже не знал, что делает функция `go_to()`!
```
2014-09-13 22:31:33 +04:00
В Github Flavored Markdown для блоков кода можно использовать
специальный синтаксис:
2014-09-13 22:31:33 +04:00
<pre>
<code class="highlight">&#x60;&#x60;&#x60;ruby
2014-09-13 22:31:33 +04:00
def foobar
puts "Привет, мир!"
2014-09-13 22:31:33 +04:00
end
&#x60;&#x60;&#x60;</code></pre>
2014-09-13 22:31:33 +04:00
Во фрагменте, приведённом выше, отступ не требуется.
Кроме того, Github подсветит синтаксис языка, указанного после \`\`\`
2014-09-13 22:31:33 +04:00
## Горизонтальный разделитель
2014-09-13 22:31:33 +04:00
Разделители (`<hr>`) добавляются вставкой строки из трёх и более
(одинаковых) символов «*» или «-», с пробелами или без них:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
***
---
- - -
2014-09-13 22:31:33 +04:00
****************
```
## Ссылки
2014-09-13 22:31:33 +04:00
Одной из сильных сторон Markdown можно смело считать то,
2014-10-19 09:23:10 +04:00
как просто размечаются гиперссылки. Для создания ссылки укажите
текст ссылки, заключив его в квадратные скобки,
и сразу после — URL-адрес, заключенный в круглые
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
[Ссылка!](http://test.com/)
```
Также для ссылки можно указать всплывающую подсказку (`title`), используя
кавычки внутри круглых скобок:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
[Ссылка!](http://test.com/ "Ссылка на Test.com")
```
Относительные пути тоже возможны:
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
[Перейти к музыке](/music/).
```
2014-09-13 22:31:33 +04:00
Markdown также позволяет размечать ссылку в виде сноски:
2014-09-13 22:31:33 +04:00
<pre><code class="highlight">&#x5b;<span class="nv">Щёлкните эту ссылку</span>][<span class="ss">link1</span>] для подробной информации!
&#x5b;<span class="nv">Также посмотрите эту ссылку,</span>][<span class="ss">foobar</span>] если хотите.
2014-09-13 22:31:33 +04:00
&#x5b;<span class="nv">link1</span>]: <span class="sx">http://test.com/</span> <span class="nn">"Круто!"</span>
&#x5b;<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
`Title` также может быть в одинарных кавычках или круглых скобках, а также
отсутствовать вовсе. Ссылки на сноски могут быть в любом месте документа,
а идентификаторы могут быть какими угодно, лишь бы они были уникальными.
2014-09-13 22:31:33 +04:00
Существует также неявное именование, когда ссылка является идентификатором.
2014-09-13 22:31:33 +04:00
<pre><code class="highlight">&#x5b;<span class="nv">Это</span>][] ссылка.
2014-09-13 22:31:33 +04:00
&#x5b;<span class="nv">это</span>]: <span class="sx">http://thisisalink.com/</span></code></pre>
2014-09-13 22:31:33 +04:00
Правда, эта возможность не очень распространена.
2014-09-13 22:31:33 +04:00
## Изображения
Разметка изображений очень похожа на разметку ссылок.
Нужно всего лишь добавить перед ссылкой восклицательный знак!
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
![Альтернативный текст для изображения](http://imgur.com/myimage.jpg "Подсказка")
```
Изображения тоже могут быть оформлены, как сноски.
2014-09-13 22:31:33 +04:00
<pre><code class="highlight">!&#x5b;<span class="nv">Это альтернативный текст.</span>][<span class="ss">myimage</span>]
2014-09-13 22:31:33 +04:00
&#x5b;<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
```md
2014-09-13 22:31:33 +04:00
Ссылка вида <http://testwebsite.com/> эквивалентна
[http://testwebsite.com/](http://testwebsite.com/)
```
2014-09-13 22:31:33 +04:00
### Автоссылки для адресов электронной почты
2014-09-13 22:31:33 +04:00
```md
2014-09-13 22:31:33 +04:00
<foo@bar.com>
```
2014-09-13 22:31:33 +04:00
### Экранирование символов
2014-09-13 22:31:33 +04:00
```md
Я хочу напечатать *текст, заключённый в звёздочки*, но я не хочу,
чтобы он был курсивным. Тогда я делаю так:
\*Текст, заключённый в звёздочки\*
```
2014-09-13 22:31:33 +04:00
### Клавиши на клавиатуре
В Github Flavored Markdown для представления клавиш на клавиатуре
вы можете использовать тег `<kbd>`.
2014-09-13 22:31:33 +04:00
```md
2015-10-31 18:42:42 +03:00
Ваш компьютер завис? Попробуйте нажать
<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd>
```
2014-09-13 22:31:33 +04:00
### Таблицы
Таблицы официально поддерживаются только в GitHub Flavored Markdown,
2014-09-13 22:31:33 +04:00
да и синтаксис имеют не слишком удобный.
Но если очень нужно, размечайте таблицы так:
2014-09-13 22:31:33 +04:00
```md
2014-10-19 09:23:10 +04:00
| Столбец 1 | Столбец 2 | Столбец 3 |
2014-09-13 22:31:33 +04:00
| :----------- | :----------: | -----------: |
| Выравнивание | Выравнивание | Выравнивание |
| влево | по центру | вправо |
```
Или более компактно
2014-09-13 22:31:33 +04:00
```md
Столбец 1|Столбец 2|Столбец 3
2014-09-13 22:31:33 +04:00
:--|:-:|--:
Выглядит|это|страшновато...
```
Ну вот и всё!
2014-09-13 22:31:33 +04:00
За более подробной информацией обращайтесь к [статье](http://daringfireball.net/projects/markdown/syntax) Джона Грубера о синтаксисе Markdown.
2014-09-13 22:31:33 +04:00
Также часто бывает полезной отличная ["шпаргалка"](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) по Markdown от Адама Притчарда.