特殊文字の自動エスケープ

HTML では、<& の 2 種類の特別な処理が必要です。左山かっこはタグを開始するために使用されます。アンパサンドは、HTML エンティティを表すために使用されます。リテラル文字として使用する場合は、エンティティとしてエスケープする必要があります(例:<& など)。

特に、アンパサンドはウェブライターに苦労しています。'AT&T' について記述する場合は、'AT&T' と記述する必要があります。URL 内でアンパサンドをエスケープする必要もあります。以下にリンクする場合:

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

URL を次のようにエンコードする必要があります。

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

アンカータグの href 属性に含めてください。言うまでもなく、マークアップされたウェブサイトの HTML 検証エラーの最も一般的な原因となっている可能性があります。

マークダウンを使用すると、こうした文字を自然に使用することができ、すべてのエスケープ処理を自動で行うことができます。アンパサンドを HTML エンティティの一部として使用すると、変更されません。アンパサンドは & に変換されます。

たとえば、著作権マークを記事に含める場合は、次のように記述します。

©

そして Markdown はもうそのままにします。しかし、次のように記述したとします。

AT&T

Markdown により翻訳されます。

AT&T

同様に、Markdown はインライン HTML をサポートしているため、山かっこを使用して HTML タグの区切り文字として使用すると、Markdown はそれを同様に扱います。しかし、次のように記述したとします。

4 < 5

Markdown により翻訳されます。

4 &lt; 5

ただし、Markdown コードスパンとブロック内では、山かっことアンパサンドが常に自動的にエンコードされます。これにより、Markdown を使用して HTML コードを簡単に記述できます。(HTML 構文について記述するのが苦手な未加工の HTML とは対照的に、サンプルコード内のすべての <& はエスケープする必要があるため)。

バックスラッシュ エスケープ

Markdown を使用すると、バックスラッシュ エスケープを使用してリテラル文字を生成できます。これは、Markdown のフォーマット構文では特別な意味を持ちます。たとえば、単語をリテラルのアスタリスクで囲む場合(HTML <em> タグの代わりに)は、次のようにアスタリスクの前にバックスラッシュを使用します。

\*literal asterisks\*

マークダウンは、次の文字にバックスラッシュでエスケープします。

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parentheses
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark