HTML では、<
と &
の 2 種類の特別な処理が必要です。左山かっこはタグを開始するために使用されます。アンパサンドは、HTML エンティティを表すために使用されます。リテラル文字として使用する場合は、エンティティとしてエスケープする必要があります(例:&lt;
、&amp;
など)。
特に、アンパサンドはウェブライターに苦労しています。'AT&T' について記述する場合は、'AT&amp;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 < 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