Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:05, 8 июня 2016.
Markdown - (произносится [ mɑːkdaʊn ] )язык разметки, который транслируется в HTML. Используя более простой синтакскис, Markdown упрощает форматирвоание текста. [1] Задача Markdown упростить форматирование текста, а так же убрать из текста избыточные конструкции, которые усложняют понимание отформатированного текста.
История
Markdown был разработан в 2004 Джоном Грубером, который написал на Perl конвертер транслирующий Markdown в HTML.[1] На 2014 год существует большое количество реализаций Markdown на различных языках. Некоторые из них расширяют базовый синтаксис позволяя тем самым создавать таблицы, примечания, списки определений, другие же позволяют на выходе получить формат отличный от HTML, а именно LaTeX и многие другие популярные форматы.
Стандартизация
Джон Грубер разработав Markdown не конкретизировал синтаксис языка однозначно. Из-за отсутствии спецификации, ранние реализации основывались на оригинальном коде Markdown.pl. Но ввиду того, что Markdown.pl был плохо реализован и выдавал в большенстве случаев сомнительные результаты, Markdown.pl не мог заменить потребность в спецификации. Последнее обновление Markdown.pl было опубликовано 17 Декабря 2004.[1]. Отсутствие спецификации породило значительное количество разных видов реализаций, которые на выходе выдавали совершенно разные HTML. В Сентябре 2014 группой независимых разработчиков заинтересованных в концепции языка Markdown была опубликована первая версия спецификации языка CommonMark нацеленная поставить окончательную точку и разрешить все неясности связанные с отсутствием спецификации Markdown.[2]
Синтаксис
Блочные элементы
Заголовки
Markdown
|
HTML
|
Заголовок h1
=============
Заголовок h2
-------------
# И это h1
## И это h2
###### А это h6
|
<h1>Заголовок h1</h1>
<h2>Заголовок h2</h2>
<h1>И это h1</h1>
<h2>И это h2</h2>
<h6>А это h6</h6>
|
Цитата
Markdown
|
HTML
|
> Это blockquote, который содержит два параграфа.
> Это всё первый параграф.
>
> > А это вложенный blockquote.
>
> А вот и второй параграф.
|
<blockquote>
<p>Это blockquote, который содержит два параграфа.
Это всё первый параграф.</p>
<blockquote>
<p>А это вложенный blockquote.</p>
</blockquote>
<p>А вот и второй параграф.</p>
</blockquote>
|
Нумерованный список
Markdown
|
HTML
|
Особенность 1. Ленивое вычисление номера пункта.
1. Красный
1. Зелёный
1. Синий
Особенность 2. Каждый пункт можно обернуть `<p>` тегом.
1. Красный
1. Зелёный
1. Синий
Особенность 3. Некоторыю люди для улучшения читабельности
предпочитают добавлять несколько дополнительных пробелов
1. Lorem Ipsum is simply dummy text of the printing and
typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and
scrambled it to make a type specimen book.
1. А это другой пункт.
|
<p>Особенность 1. Ленивое вычисление номера пункта.</p>
<ol>
<li>Красный</li>
<li>Зелёный</li>
<li>Синий</li>
</ol>
<p>Особенность 2. Каждый пункт можно обернуть <code>&lt;p&gt;</code> тегом.</p>
<ol>
<li><p>Красный</p></li>
<li><p>Зелёный</p></li>
<li><p>Синий</p></li>
</ol>
<p>Особенность 3. Некоторыю люди для улучшения читабельности
предпочитают добавлять несколько дополнительных пробелов</p>
<ol>
<li>Lorem Ipsum is simply dummy text of the printing and
typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and
scrambled it to make a type specimen book.</li>
<li>А это другой пункт.</li>
</ol>
|
Маркированный список
Все особенности применимые к нумерованному списку работают и с маркированным. В качестве маркера необходимо использовать *
, -
или +
.
Markdown
|
HTML
|
Как и для нумерованного списка можно
использовать дополнительные пробелы* Первый маркер.
* Второй маркер.
* Lorem Ipsum is simply dummy text of the printing and
typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and
scrambled it to make a type specimen book
* А можно и блок кода вставить. Просто не забудь пустую линию и
8 пробелов или 2 табов.
for i := 1; i < 2; i++ {
fmt.Println(i)
}
* Очередной маркер.
|
<p>Как и для нумерованного списка можно
использовать дополнительные пробелы</p>
<ul>
<li><p>Первый маркер.</p></li>
<li><p>Второй маркер.</p></li>
<li><p>Lorem Ipsum is simply dummy text of the printing and
typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and
scrambled it to make a type specimen book</p></li>
<li><p>А можно и блок кода вставить. Просто не забудь пустую линию и
8 пробелов или 2 табов.</p>
<pre><code>for i := 1; i &lt; 2; i++ {
fmt.Println(i)
}
</code></pre></li>
<li><p>Очередной маркер.</p></li>
</ul>
|
Блок code
Markdown
|
HTML
|
Пример кода на AppleScript:
tell application "Foo"
beep
end tell
|
<p>Пример кода на AppleScript:</p>
<pre><code>tell application "Foo"
beep
end tell
</code></pre>
|
Горизонтальная линия
Markdown
|
HTML
|
* * *
***
*****
- - -
---------------------------------------
|
<hr />
<hr />
<hr />
<hr />
<hr />
|
Встроенные элементы
Ссылки
Markdown
|
HTML
|
|
<p><a href="http://en.bmstu.wiki/">BMSTU Wiki</a></p>
|
Выделение
Markdown
|
HTML
|
*одинарная снежинка*
_одинарное подчёркивание_
**двойная снежинка**
__двойное подчёркивание__
|
<p><em>одинарная снежинка</em></p>
<p><em>одинарное подчёркивание</em></p>
<p><strong>двойная снежинка</strong></p>
<p><strong>двойное подчёркивание</strong></p>
|
Встроенный code
Markdown
|
HTML
|
Используйте функцию `printf()`.
|
<p>Используйте функцию <code>printf()</code>.</p>
|
Примечания
Ссылки
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.