--- language: markdown contributors: - ["Dan Turkel", "http://danturkel.com/"] - ["Pirogov Alexey", "http://twitter.com/alex_pir"] filename: markdown-ru.md lang: ru-ru --- Язык разметки Markdown создан Джоном Грубером (англ. John Gruber) и Аароном Шварцем (англ. Aaron H. Swartz) в 2004 году. Авторы задавались целью создать максимально удобочитаемый и удобный в публикации облегчённый язык разметки, пригодный для последующего преобразования в HTML (а также и в другие форматы). ```markdown <!-- Markdown является надмножеством HTML, поэтому любой HTML-файл является валидным документом Markdown, что позволяет использовать напрямую любые элементы HTML-разметки, такие, например, как этот комментарий. Встроенные в документ HTML-элементы не затрагиваются парсером Markdown и попадают в итоговый HTML без изменений. Однако, следует понимать, что эта же особенность не позволяет использовать разметку Markdown внутри HTML-элементов --> <!-- Ещё одна особенность формата Markdown состоит в том, что поддерживаемые возможности разметки зависят от конкретной реализации парсера. В данном руководстве возможности, поддерживаемые лишь определёнными парсерами, сопровождаются соответствующими примечаниями. --> <!-- Заголовки --> <!-- HTML-элементы от <h1> до <h6> размечаются очень просто: текст, который должен стать заголовком, предваряется соответствующим количеством символов "#": --> # Это заголовок h1 ## Это заголовок h2 ### Это заголовок h3 #### Это заголовок h4 ##### Это заголовок h5 ###### Это заголовок h6 <!-- Markdown позволяет размечать заголовки <h1> и <h2> ещё одним способом: --> Это заголовок h1 ================ А это заголовок h2 ------------------ <!-- Простейшая стилизация текста --> <!-- Текст легко сделать полужирным и/или курсивным: --> *Этот текст будет выведен курсивом.* _Так же, как этот._ **А этот текст будет полужирным.** __И этот тоже.__ ***Полужирный курсив.*** **_И тут!_** *__И даже здесь!__* <!-- В Github Flavored Markdown (версии Markdown, использующейся в Github, для рендеринга Markdown-документов) текст можно сделать зачёркнутым: --> ~~Зачёркнутый текст.~~ <!-- Абзацами являются любые строки, следующие друг за другом. Разделяются же абзацы одной или несколькими пустыми строками: --> Это абзац. Всё предельно просто. А тут уже параграф №2. Эта строка всё ещё относится к параграфу №2! О, а вот это уже параграф №3! <!-- Для вставки принудительных переносов можно использовать HTML-тэг <br/>: --> Принудительный <br/> перенос! <!-- Цитаты размечаются с помощью символа ">": --> > Это цитата. В цитатах можно > принудительно переносить строки, вставляя ">" в начало каждой следующей строки. А можно просто оставлять достаточно длинными, и такие длинные строки будут перенесены автоматически. > Разницы между этими двумя подходами к переносу строк нет, коль скоро > каждая строка начинается с символа ">" > А ещё цитаты могут быть многоуровневыми: >> как здесь >>> и здесь :) > Неплохо? <!-- Списки --> <!-- Маркированные списки размечаются вставкой в начало каждого элемента одного из символов "*", "+" или "-": (символ должен быть одним и тем же для всех элементов) --> * Список, * Размеченный * Звёздочками либо + Список, + Размеченный + Плюсами либо - Список, - Размеченный - Дефисами <!-- В нумерованных списках каждая строка начинается с числа и точки вслед за ним: --> 1. Первый элемент 2. Второй элемент 3. Третий элемент <!-- Заметьте, нумеровать элементы корректно необязательно. Достаточно указать любое число в начале каждого элемента и рендер пронумерует элементы сам! Правда, злоупотреблять этим не стоит :) --> 1. Первый элемент 1. Второй элемент 1. Третий элемент <!-- (Этот список будет отрендерен так же, как и предыдущий!) --> <!-- Списки могут быть вложенными: --> 1. Введение 2. Начало работы 3. Примеры использования * Простые * Сложные 4. Заключение <!-- Блоки с исходным кодом --> <!-- Фрагменты исходного кода выделяются очень просто - каждая строка блока должна иметь отступ в четыре пробела либо в один символ табуляции --> Это код, причём - многострочный <!-- Дополнительные отступы в коде следует делать с помощью четырёх пробелов: --> my_array.each do |item| puts item end <!-- Иногда бывает нужно вставить фрагмент кода прямо в строку текста, не выделяя код в блок. Для этого фрагменты кода нужно обрамлять символами "`": --> Например, можно выделить имя функции `go_to()` прямо посреди текста. <!-- Github Flavored Markdown позволяет указать для блока кода синтаксис оного. В этом случае синтаксис внутри блока будет подсвечен. Пример: --> \`\`\`ruby <!-- Только нужно будет убрать символы "\", оставив лишь "```ruby" --> def foobar puts "Hello world!" end \`\`\` <!-- И здесь тоже backslashes нужно убрать, т.е. оставить "```" --> <-- Обратите внимание: фрагмент, указанный выше, не предваряется отступами, поскольку Github сам в состоянии определить границы блока - по строкам "```" --> <!-- Горизонтальный разделитель (<hr />) --> <!-- Разделители добавляются вставкой строки из трёх и более (одинаковых) символов "*" или "-": --> *** --- - - - <!-- между символами допустимы пробелы --> **************** <!-- Ссылки --> <!-- Одной из сильных сторон Markdown можно смело считать то, как просто размечаются гиперссылки. Для создания ссылки укажите текст ссылки, заключив его в квадратные скобки, и сразу после - url, заключенный в "круглые" --> [Ссылка!](http://test.com/) <!-- Также для ссылки можно указать всплывающую подсказку: --> [Ссылка!](http://test.com/ "Ссылка на Test.com") <!-- В url можно использовать относительные пути: --> [Перейти к музыке](/music/). <!-- Markdown позволяет размечать ссылку в виде сноски: --> [Здесь][link1] высможете узнать больше! А можно кликнуть [сюда][foobar], если очень хочется. <!-- где-нибудь внизу --> [link1]: http://test.com/ "Круто!" [foobar]: http://foobar.biz/ "Тоже хорошо!" <!-- Примечания: - Подсказка может быть заключена в одинарные кавычки вместо двойных, а также в круглые скобки. - Сноска может находиться в любом месте документа и может иметь идентификатор (далее ID) произвольной длины, лишь бы это ID был уникальным. --> <!-- Также при разметке ссылок-сносок можно опустить ID, если текст ссылки уникален в пределах документа: --> Ссылка на [Google][]. [google]: http://google.com/ <!-- Правда, эта возможность не очень распространена. --> <!-- Изображения --> <!-- Разметка изображений очень похожа на разметку ссылок. Нужно всего лишь добавить "!" перед ссылкой! --> ![Альтернативный текст для изображения](http://imgur.com/myimage.jpg "Подсказка") <!-- Изображения тоже могут быть оформлены, как сноски: --> ![Альтернативный текст][myimage] ![То же изображение ещё раз][myimage] [myimage]: relative/urls/cool/image.jpg "подсказка" <!-- Ещё немного ссылок: --> <!-- Автоссылки --> Ссылка вида <http://testwebsite.com/> эквивалентна [http://testwebsite.com/](http://testwebsite.com/) <!-- Автоссылки для адресов электронной почты --> <foo@bar.com> <!-- Экранирование символов --> <!-- Может потребоваться вставить спецсимвол в текст "как есть", т.е. защитить его от обработки парсером. Такой символ должен быть "экранирован" с помощью обратной косой черты (символа "\"): --> \*текст, заключённый в звёздочки!\* <!-- Таблицы --> <!-- Таблицы официально поддерживаются только в Github Flavored Markdown, да и синтаксис имеют не слишком удобный. Но если очень нужно, размечайте таблицы так: --> | Столбец 1 | Столбец 2 | Столбец 3 | | :----------- | :----------: | -----------: | | Выравнивание | Выравнивание | Выравнивание | | влево | по центру | вправо | <!-- Или более компактно --> Колонка 1|Колонка 2|Колонка 3 :--|:-:|--: Выглядит|это|страшновато... <!-- Ну вот и всё! --> ``` За более подробной информацией обращайтесь к [статье](http://daringfireball.net/projects/markdown/syntax) Джона Грубера о синтаксисе Markdown. Также часто бывает полезной отличная ["шпаргалка"](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) по Markdown от Adam Pritchard. Если вдруг встретите ошибки в переводе или же захотите его дополнить, делайте pull requests - авторы всегда рады обратной связи!