Джерело : http://daringfireball.net/projects/markdown/syntax

Автор : John Gruber

Переклад : Михайло Даниленко isbear@ukrpost.net

Дата оригіналу перекладу : 2012-11-14

Переклад розміщений тут з дозволу автора.

Markdown: Syntax

Вступ

Філософія

Markdown^markdown має бути настільки простим у читанні та на письмі, наскільки дозволяє доцільність.

При цьому простота читання має найбільшу вагу. Якщо опублікувати документ, написаний з використанням Markdown як є (простим текстом), він не повинен виглядати так, ніби він розмічений тегами чи інструкціями форматування. Синтаксис Markdown увібрав у себе риси деяких інших типів перетворення тексту на HTML, зокрема Setext, atx, Textile, reStructuredText, Grutatext та EtText, але найбільший вплив мали правила форматування звичайних текстових електронних листів.

На даний момент markdown використовує для розмітки лише знаки пунктуації, причому ці знаки обережно добиралися так, щоб їх вигляд був подібним до їх значення. Наприклад, виділення слова зірочками виглядає як *наголошення*. Списки у markdown виглядають як... списки. Навіть параграфи цитати виглядають як цитований текст (якщо ви колись користувалися електронною поштою).

Додавання HTML

Синтаксис markdown має одне призначення: написання текстів для мережі^web.

Він не є заміною HTML, навіть близько не стоїть. Синтаксис дуже маленький, і покриває лише невелику кількість тегів HTML. Ідея полягає не в тому, щоб створити синтаксис, що полегшує вставку тегів HTML. На мою думку, теги HTML і так легко вставляти. Ідея markdown — це зробити легкими читання, написання і редагування прози. HTML — це формат для публікування; Markdown — формат для написання. Отож, синтаксис форматування markdown охоплює лише ті задачі, які можна вирішити за допомогою простого тексту.

Для розмітки, не охопленої markdown, ви просто використовуєте сам HTML. Нема потреби якось його виокремлювати чи позначати, що ви переходите від markdown до HTML; ви просто використовуєте теги.

Єдині обмеження — блокові елементи HTML (наприклад, <div>, <table>, <pre>, <p> тощо) мають відокремлюватися від навколишнього змісту порожніми рядками, і початковий та кінцевий теги блоку не можуть мати відступів. Markdown достатньо розумний, і не буде додавати непотрібні теги <p> навколо блокових тегів HTML.

Наприклад, щоб додати таблицю HTML до статті у форматі markdown:

Звичайний параграф.

<table>
    <tr>
        <td>Щось</td>
    </tr>
</table>

Інший звичайний параграф.

Проте зауважте, що форматування markdown не застосовується до вмісту блокових конструкцій HTML. Тобто ви не зможете використати *наголошення* markdown усередині блоку HTML.

Рядкові теги HTML (<span>, <cite>, <del> тощо) можуть використовуватися будь-де усередині параграфу markdown, елемента списку чи заголовка. Якщо хочете, можете навіть використовувати теги HTML замість форматування markdown; наприклад, якщо ви надаєте перевагу тегам <a> чи <img> замість відповідного форматування markdown — просто використовуйте їх.

На відміну від блокових тегів HTML, усередині рядкових тегів форматування markdown застосовується.

Автоматичне знешкодження спеціальних символів

HTML має два символи, що потребують особливого поводження: < та &. Ліва кутова дужка використовується для позначення початку тегу; амперсанди позначають елементи HTML. Якщо вам потрібно їх використати як символи, ви маєте їх знешкодити — перетворити на елементи HTML (наприклад, &lt; та &amp; відповідно).

Амперсанди особливо неприємні для мережевих письменників. Якщо ви пишете про 'AT&T', вам треба писати 'AT&amp;T'. Амперсанди потребують знешкодження навіть усередині url. Себто, якщо ви хочете послатися на

http://images.google.com/images?num=30&q=larry+bird

вам доведеться закодувати посилання так:

http://images.google.com/images?num=30&amp;q=larry+bird

у атрибуті href тегу <a>. Очевидно, що такі речі легко забути зробити, тож це є, мабуть, найпоширенішим джерелом помилок валідації у інакше цілком коректних документах.

У markdown ви використовуєте ці символи звичайним чином, а markdown знешкоджує їх, якщо треба. Якщо ви використаєте амперсанд як частину елементу HTML, він таким і залишиться, інакше його буде перетворено на &amp;.

Отож, якщо ви хочете додати символ копірайту до вашої статті, ви можете написати:

&copy;

і markdown нічого йому не зробить. Проте якщо ви напишете:

AT&T

markdown перетворить його на:

AT&amp;T

Подібним чином, оскільки markdown може співіснувати з HTML, якщо ви використаєте кутові дужки як позначення тегу HTML, markdown їх так і залишить. Але якщо ви напишете:

4 < 5

markdown знешкодить дужку:

4 &lt; 5

Звичайно, у позначених як код частинах рядка та блоках ці символи завжди знешкоджуюься. Тому markdown зручний при написанні статей про HTML (на відміну від простого HTML, де кожен амперсанд і кожна кутова дужка у ваших прикладах мають бути знешкоджені).

Блокові елементи

Параграфи та закінчення рядків

Параграф — це просто декілька послідовних рядків тексту, відокремлених від іншого змісту принаймні одним порожнім рядком (причому порожній рядок — це будь-який рядок, що виглядає порожнім — рядок, що містить лише символи пробілу чи табуляції вважається порожнім). Звичайні параграфи не повинні мати відступів.

Наслідком правила "один чи більше послідовних рядків тексту" є підтримка "жорсткого розриву рядка". Це правило сильно відрізняється від більшості інших методів перетворення тексту на HTML (зокрема й варіант "Convert Line Breaks" Movable Type), що перетворюють кожне закінчення рядка на тег <br />.

Коли ви хочете вставити тег розриву <br /> у markdown, ви закінчуєте рядок двома чи більше пробілами, і тоді натискаєте "ввід".

Так, додавання <br /> потребує трохи більше зусиль, проте простецький підхід "кожне закінчення рядка є розривом" не годиться для markdown. Подібні до електронної пошти блоки цитат та кількапараграфні елементи списків найкраще працюють (і виглядають) відформатованими за допомогою "жорстких розривів".

Заголовки

Markdown розуміє два типи заголовків — Setext та atx.

У Setext першорівневі заголовки "підкреслюються" символами рівності а другорівневі — рисками. Приклад:

Головний заголовок (H1)
=======================

Другорядний заголовок (H2)
--------------------------

Згодиться будь-яка кількість "=" або "-".

У atx перед текстом заголовка йде від 1 до 6 символів "#" (решітка), що визначають рівень заголовка (H1-H6 відповідно). Наприклад:

# Перший рівень (H1)

## Другий рівень (H2)

###### Шостий рівень (H6)

За бажання, ви можете також "закривати" заголовки atx. Це не відіграє жодної ролі, тож ви вільні робити це, якщо ви вважаєте, що так красивіше. Зокрема, кількість кінцевих решіток може навіть не відповідати кількості початкових (які визначають рівень заголовка):

# Перший рівень (H1) #

## Другий рівень (H2) ##

### Третій рівень (H3) ######

Блоки цитат

Для цитування markdown використовує символи >, як в електронних листах. Якщо ви знайомі з цитуванням у електронній пошті, ви знаєте, як робити цитати у markdown. Найкраще цитата виглядає, якщо ви додасте жорсткі розриви та поставите > перед кожним рядком:

> Цитата з двох параграфів. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.

Проте markdown дозволяє бути лінивим і вказувати > лише перед першим рядком параграфа з жорсткими розривами:

> Цитата з двох параграфів. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.

Цитати можуть вкладатися одна в одну (тобто цитата у тексті іншої цитати) додаванням додаткових символів >:

> Цитата першого рівня.
>
> > Вкладена цитата.
>
> Знов до першого рівня.

Цитати можуть містити інші елементи markdown, зокрема заголовки, списки та код:

> ## Заголовок
>
> 1.   Перший пункт списка.
> 2.   Другий пункт списка.
>
> А це приклад коду в цитаті:
>
>     return shell_exec("echo $input | $markdown_script");

Будь-який нормальний текстовий редактор повинен мати засоби для полегшення створення цитат. Наприклад, у BBEdit ви можете виділити потрібний текст і вибрати у меню "Текст" пункт "Збільшити рівень цитування".

Списки

Markdown підтримує впорядковані (нумеровані) та невпорядковані (марковані) списки.

Невпорядковані списки використовують зірочки, плюси та риски (вперемішку) як позначки пунктів списку:

*   Червоний
*   Зелений
*   Синій

це те ж саме, що й:

+   Червоний
+   Зелений
+   Синій

і:

-   Червоний
-   Зелений
-   Синій

У впорядкованих списках використовуються номери, за якими слідує крапка:

1.  Птаха
2.  МакГейль
3.  Парафія

Зауважте, що які саме номери ви вкажете не має впливу на HTML, що виведе markdown. З вищенаведеного прикладу вийде:

<ol>
<li>Птаха</li>
<li>МакГейль</li>
<li>Парафія</li>
</ol>

Якби ви написали:

1. Птаха
1. МакГейль
1. Парафія

або навіть:

3. Птаха
1. МакГейль
8. Парафія

результат був би точно той самий. Тобто, якщо ви хочете, ви можете використовувати порядкові номери у списках markdown, тоді вони відповідатимуть номерам у опублікованому HTML. Проте якщо вам ліньки, ви не зобов’язані це робити.

Зауважте, що у останньому випадку краще все-таки починати списки з номера 1, бо можливо колись markdown буде підтримувати списки, що починаються з довільного номеру.

Позначки списку зазвичай знаходяться з лівого краю, але можуть також мати відступ до трьох пробілів. Після позначки повинен йти принаймні один пробіл чи символ табуляції.

Для покращення вигляду ви можете переносити рядки зберігаючи відступ:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.

Але якщо вам ліньки, ви не зобов’язані:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
Suspendisse id sem consectetuer libero luctus adipiscing.

Якщо пункти списку відокремлені порожніми рядками, markdown у HTML загорне їх у теги <p>. Для прикладу:

*   Птах
*   Магія

перетвориться на:

<ul>
<li>Птах</li>
<li>Магія</li>
</ul>

але оце:

*   Птах

*   Магія

стане цим:

<ul>
<li><p>Птах</p></li>
<li><p>Магія</p></li>
</ul>

Пункт списку може складатися з декількох параграфів. Кожен наступний параграф повинен мати відступ розміром 4 пробіли чи один символ табуляції:

1.  Цей пункт списку має два параграфи. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

2.  Suspendisse id sem consectetuer libero luctus adipiscing.

Відступи для кожного рядка виглядають красиво, але знов-таки, markdown дозволяє полінитися і не робити цього:

*   Це пункт списку з двох параграфів.

    Це другий параграф у пункті списку. Ви зобов’язані зробити
відступ лише для першого рядка. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.

*   Інший пункт цього ж списку.

Щоб вкласти цитату у список, потрібно робити відступи перед позначками цитати >:

*   Пункт списку з цитатою:

    > Цитата
    > усередині пункта списку

Вкладений код потребує подвійного відступу — 8 пробілів чи дві табуляції:

*   Пункт списку з кодом:

        <код тут>

Потрібно зазначити, що можна випадково створити нумерований список, написавши щось на кшталт:

1986. Що за рік!

(тобто послідовність число-крапка-пробіл на початку рядка). Щоб запобігти створенню списка, ви можете знешкодити крапку за допомогою зворотньої похилої:

1986\. Що за рік!

Код

Коли ви пишете про програмування чи розмітку, часто використовуються шматки наперед відформатованого джерельного коду. Рядки такого блоку замість того, щоб утворювати звичайні параграфи, інтерпретуються буквально. markdown загортає такий блок у теги <pre> та <code>.

У markdown, щоб створити блок коду, просто додайте відступ до кожного рядка блоку. Відступ має бути розміром у принаймні 4 пробіли чи одну табуляцію. Наприклад, отримавши на вході:

Звичайний параграф:

    А це - код.

markdown видасть:

<p>Звичайний параграф:</p>

<pre><code>А це - код.
</code></pre>

З початку кожного рядка блоку коду прибирається один рівень відступу (4 пробіли або одна табуляція). Тобто оце:

Ось приклад AppleScript:

    tell application "Foo"
        beep
    end tell

перетвориться на:

<p>Ось приклад AppleScript:</p>

<pre><code>tell application "Foo"
    beep
end tell
</code></pre>

Блок коду продовжується доти, доки не досягне рядка без відступу (або кінця статті).

Усередині блоку символи амперсанду (&) та кутові дужки (< та >) автоматично перетворюються на елементи HTML. Це дуже допомагає, коли доводиться вставляти у markdown приклади розмітки HTML — просто вставте та додайте відступ, а markdown потурбується про знешкодження амперсандів та дужок. Наприклад, оце:

    <div class="footer">
        &copy; 2004 Якась Корпорація
    </div>

стане оцим:

<pre><code>&lt;div class="footer"&gt;
    &amp;copy; 2004 Якась Корпорація
&lt;/div&gt;
</code></pre>

У блоках коду розмітка markdown не застосовується. Тобто, наприклад, у коді зірочки є просто зірочками. Це також означає, що markdown можна без проблем використовувати для написання статей про markdown.

Горизонтальні лінії

Ви можете додати тег горизонтальної лінії (<hr />) за допомогою трьох або більше рисок, зірочок або підкреслень, розміщених на одному рядку без нічого більше. Якщо бажаєте, можете додати пробіли між рисками чи зірочками. Кожен з нижченаведених рядків дадає горизонтальну лінію:

* * *

***

*****

- - -

------------------------------------------------------

Рядкові елементи

Посилання

Markdown має два типи посилань: на місці та виноскою.

В обох випадках, назва посилання вказується у [квадратних дужках].

Щоб зробити посилання на місці — додайте пару круглих дужок одразу після закриваючої дужки назви посилання. Усередині цих дужок вкажіть саме посилання (url). Також ви можете там вказати заголовок (title) посилання у лапках. Приклад:

Це [приклад](http://example.com/ "Заголовок") посилання "на місці".

А [це посилання](http://example.com/) не має заголовку.

А ось що з нього вийде:

<p> Це <a href="http://example.com/" title="Заголовок">
приклад</a> посилання "на місці".</p>

<p>А <a href="http://example.com/">це посилання</a> не має
заголовку.</p>

Якщо ви посилаєтесь на місцевий ресурс на тому ж сервері, ви можете використовувати відносні шляхи:

Детальніше див. [Про мене](/about/).

У посиланнях виноскою використовується друга пара квадратних дужок, у яких ви вказуєте мітку, що ідентифікує це посилання:

Це [приклад][мітка] посилання виноскою.

Після цього, будь-де у документі ви маєте вставити рядок визначення цього посилання:

[мітка]: http://example.com/    "Необов’язковий заголовок"

Тобто:

  • Квадратні дужки, у яких вказується мітка посилання (може мати відступ зліва до трьох пробілів);
  • тоді двокрапка;
  • після якої йде принаймні один (можна більше) пробіл або табуляція;
  • тоді url;
  • після якого може йти заголовок (title) посилання у одинарних чи подвійних лапках або у круглих дужках.

Наступні визначення еквівалентні:

[мітка]: http://example.com/  "Необов’язковий заголовок"
[мітка]: http://example.com/  'Необов’язковий заголовок'
[мітка]: http://example.com/  (Необов’язковий заголовок)

Зауваження: Markdown 1.0.1 має відому ваду, через яку одинарні лапки не можуть використовуватися для виокремлення заголовків посилань.

Url може бути у кутових дужках:

[мітка]: <http://example.com/> "Необов’язковий заголовок"

Якщо посилання довге, ви можете перенести заголовок на наступний рядок і вирівняти його пробілами чи табуляцією:

[мітка]: http://example.com/longish/path/to/resource/here
    "Необов’язковий заголовок"

Ці визначення використовуються лише для означення посилань, і не з’являються у кінцевому HTML.

Назви міток посилань можуть складатися з літер, чисел, пробілів та пунктуації, але вони не чутливі до регістру. Тобто наступні два посилання еквівалентні:

[посилання][a]
[посилання][A]

Ви можете випустити мітку у посиланні, у такому разі використовуватиметься неявна мітка посилання — текст посилання. Просто додайте до тексту порожні квадратні дужки — наприклад, щоб зробити слово "Google" посиланням на веб-сайт google.com, ви можете написати:

[Google][]

І тоді визначити посилання:

[Google]: http://google.com/

Оскільки мітки посилань можуть містити пробіли, таке скорочення працює навіть у випадку декількох слів у тексті посилання:

Відвідайте [Daring Fireball][] щоб дізнатися більше.

І визначення:

[Daring Fireball]: http://daringfireball.net/

Визначення можуть міститися будь-де у документі. Як зазвичай вставляю їх одразу після параграфа, де вони використовуються, але якщо ви хочете, ви можете їх всіх зібрати внизу, на зразок виносок.

Приклад посилань виносками у дії:

Я отримую у 10 разів більше трафіку з [Google] [1], ніж з
[Yahoo] [2] чи [MSN] [3].

  [1]: http://google.com/        "Google"
  [2]: http://search.yahoo.com/  "Yahoo Search"
  [3]: http://search.msn.com/    "MSN Search"

З використанням неявних міток це буде:

Я отримую у 10 разів більше трафіку з [Google][], ніж з
[Yahoo][] чи [MSN][].

  [google]: http://google.com/        "Google"
  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
  [msn]:    http://search.msn.com/    "MSN Search"

Обидва приклади матимуть однаковий результат:

<p>Я отримую у 10 разів більше трафіку з <a href="http://google.com/"
title="Google">Google</a>, ніж з
<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
чи <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>

Для порівняння, ось той же параграф, але з використанням посилань на місці:

Я отримую у 10 разів більше трафіку з [Google](http://google.com/ "Google"),
ніж з [Yahoo](http://search.yahoo.com/ "Yahoo Search") чи
[MSN](http://search.msn.com/ "MSN Search").

Перевага посилань виносками не в тому, що їх легше писати, а в тому, що оригінал вашого документа значно зручніший для читання. Порівняйте вищенаведені приклади: з посиланнями виносками обсяг саме параграфа 78 символів; з посиланнями на місці — 179 символів; як готовий HTML це 237 символів. У HTML тут більше розмітки, ніж власне тексту.

З посиланнями виносками документ у початковому вигляді значно більше нагадує результат, як його показує переглядач. Завдяки відокремленню інформації, пов’язаної з розміткою від тексту ви можете додавати посилання, не відволікаючись від плину вашої прози.

Наголошення

Для наголошення markdown використовує зірочки (*) та підкреслення (_). Текст між одинарними зірочками чи підкресленнями буде загорнено у тег HTML <em>; подвійні зірочки чи підкреслення позначають тег <strong>. Для прикладу, оцей текст:

*одинарні зірочки*

_одинарні підкреслення_

**подвійні зірочки**

__подвійні підкреслення__

в результаті дасть:

<em>динарні зірочки</em>

<em>одинарні підкреслення</em>

<strong>подвійні зірочки</strong>

<strong>подвійні підкреслення</strong>

Який стиль використовувати — на ваш вибір; єдине обмеження — кінцеві символи повинні бути такими ж, як і початкові.

Наголошення може використовуватися і всередині слова:

не*вбіса*вірю

Проте якщо ви додасте пробіли навколо зірочки чи підкреслення, вони втратять своє значення і будуть вважатися простими символами.

Щоб отримати символ зірочки чи підкреслення у місці, де вони інакше були б інтерпретовані як наголошення, знешкодьте їх за допомогою зворотньої похилої:

\*цей текст має зірочки на початку та в кінці\*

Код

Щоб позначити відрізок коду усередині рядка, візьміть його у зворотні одинарні лапки (`). На відміну від блоку коду, цей синтаксис позначає код усередині звичайного параграфа. Наприклад, з цього:

Використовуйте функцію `printf()`.

вийде оце:

<p>Використовуйте функцію <code>printf()</code>.</p>

Якщо сам код містить зворотні одинарні лапки, ви можете взяти декілька лапок як роздільник:

``Код зі зворотніми лапками (`) всередині.``

з чого вийде:

<p><code>Код зі зворотніми лапками (`) всередині.</code></p>

Роздільник також може містити пробіл - один після початкового, і один перед кінцевим роздільником. З його допомогою можна отримати зворотню лапку на початку чи в кінці коду:

Єдина зворотня лапка як код: `` ` ``

Рядок, взятий у зворотні лапки як код: `` `foo` ``

Отримаємо:

<p>Єдина зворотня лапка як код: <code>`</code></p>

<p>Рядок, взятий у зворотні лапки як код: <code>`foo`</code></p>

У коді амперсанди та кутові дужки автоматично перетворюються на елементи HTML, що дозволяє писати теги HTML як текст. Markdown перетворить:

Будь ласка, не використовуйте теги `<blink>`.

на:

<p>Будь ласка, не використовуйте теги <code>&lt;blink&gt;</code>.</p>

Також ви можете написати:

`&#8212;` є записаний десятковим числом `&mdash;`.

щоб отримати:

<p><code>&amp;#8212;</code> э записаний десятковим числом
<code>&amp;mdash;</code>.</p>

Малюнки

Загалом, доволі складно вигадати "природній" метод додавання малюнків у документ, написаний простим текстом.

Markdown використовує синтаксис, що нагадує синтаксис посилань, і дозволяє ті ж варіації: на місці та виноскою.

Варіант додавання на місці виглядає подібно до цього:

![опис](/path/to/img.jpg)

![опис](/path/to/img.jpg "Необов’язковий заголовок")

Тобто:

  • знак оклику: !;
  • за яким йде пара квадратних дужок з описом малюнку (для атрибуту alt тегу HTML img);
  • за якою іде пара круглих дужок з url чи шляхом малюнку та необов’язковим заголовком у одинарних чи подвійних лапках.

Додавання виноскою робиться так:

![опис][мітка]

де "мітка" є позначкою визначення посилання. Визначення посилань для малюнків робляться точно так же, як і для звичайних посилань:

[мітка]: url/to/image  "Необов’язковий заголовок"

На час написання цього тексту, markdown не має засобів, щоб вказати розмір малюнку; якщо це важливо, ви можете просто використати звичайний тег HTML <img>.

Різне

Автоматичні посилання

Markdown вміє автоматично перетворювати на посилання url та поштові адреси: просто дадайте кутові дужки навколо. Тобто якщо ви хочете показати посилання чи поштову адресу як вони є і зробити їх посиланнями, за якими можна перейти, ви можете зробити так:

<http://example.com>

і markdown поверне:

<a href="http://example.com">http://example.com</a>

Автоматичні посилання для поштових адрес працюють схожим чином, тільки markdown спочатку випадковим чином закодує адресу у десяткові і шістнадцяткові елементи HTML, щоб хоч трохи допомогти захистити вашу адресу від ботів-збирачів. Наприклад, ця адреса:

<address@example.com>

перетвориться на щось подібне до цього:

<a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>

що переглядач покаже як посилання на "address@example.com".

(Такий трюк, звичайно, обдурить багато, якщо не більшість ботів, що збирають адреси, але він точно не обдурить їх усіх. Це краще, ніж нічого, але на опубліковану таким чином адресу рано чи пізно почне приходити спам.)

Знешкодження зворотньою похилою рискою

Markdown дозволяє викристовувати зворотню похилу риску для знешкодження символів, які інакше були б інтерпретовані як розмітка. Наприклад, якщо ви хочете отримати зірочки на початку й в кінці слова (замість тегу HTML <em>), додайте перед ними зворотні похилі:

\*зірочки навколо\*

Зворотня похила риска діє для наступних символів:

\   зворотня похила риска
`   зворотні одинарні лапки
*   зірочка
_   підкреслення
{}  фігурні дужки
[]  квадратні дужки
()  круглі дужки
#   решітка
+   знак плюс
-   знак мінус (риска)
.   крапка
!   знак оклику

(протилежність "розмітці").

прим. пер.