このページの内容

4.2ATX見出し

ATX見出しは、エスケープされていない#を1〜6個並べた開始列と、任意で置く、エスケープされていない#を任意の個数並べた終了列との間にある文字列で、その文字列をインライン内容として解析したものです。開始列の#の後には、スペース、タブ、または行末が必要です。任意の終了列の#の前にはスペースまたはタブが必要で、後ろに置けるのもスペースとタブだけです。開始の#の前には、最大3個のスペースによる字下げを置けます。見出しの生の内容から先頭と末尾のスペースやタブを取り除いてから、インライン内容として解析します。見出しのレベルは開始列の#の個数と同じです。

単純な見出しの例です。

# foo
## foo
### foo
#### foo
##### foo
###### foo
<h1>foo</h1>
<h2>foo</h2>
<h3>foo</h3>
<h4>foo</h4>
<h5>foo</h5>
<h6>foo</h6>

#が6個を超える場合、見出しにはなりません。

####### foo
<p>####### foo</p>

見出しが空でない限り、#の列と見出しの内容の間には、少なくとも1個のスペースまたはタブが必要です。現在、多くの実装ではスペースを要求しない点に注意してください。しかし、元のATX実装ではスペースが必須でした。また、この条件は、次のようなものが見出しとして解析されるのを防ぎます。

#5 bolt

#hashtag
<p>#5 bolt</p>
<p>#hashtag</p>

最初の#がエスケープされているため、これは見出しにはなりません。

\## foo
<p>## foo</p>

内容はインラインとして解析されます。

# foo *bar* \*baz\*
<h1>foo <em>bar</em> *baz*</h1>

インライン内容を解析するとき、先頭と末尾のスペースやタブは無視されます。

#                  foo                     
<h1>foo</h1>

最大3個のスペースによる字下げが許されます。

 ### foo
  ## foo
   # foo
<h3>foo</h3>
<h2>foo</h2>
<h1>foo</h1>

4個のスペースによる字下げは多すぎます。

    # foo
<pre><code># foo
</code></pre>
foo
    # bar
<p>foo
# bar</p>

終了の#の列は省略できます。

## foo ##
  ###   bar    ###
<h2>foo</h2>
<h3>bar</h3>

終了列は開始列と同じ長さである必要はありません。

# foo ##################################
##### foo ##
<h1>foo</h1>
<h5>foo</h5>

終了列の後にスペースやタブを置けます。

### foo ###     
<h3>foo</h3>

#の列の後にスペースとタブ以外のものがある場合、その列は終了列ではなく、見出しの内容の一部になります。

### foo ### b
<h3>foo ### b</h3>

終了列の前には、スペースまたはタブが必要です。

# foo#
<h1>foo#</h1>

バックスラッシュでエスケープされた#は、終了列の一部には数えません。

### foo \###
## foo #\##
# foo \#
<h3>foo ###</h3>
<h2>foo ###</h2>
<h1>foo #</h1>

ATX見出しは、周囲の内容と空行で区切る必要はなく、段落を中断できます。

****
## foo
****
<hr />
<h2>foo</h2>
<hr />
Foo bar
# baz
Bar foo
<p>Foo bar</p>
<h1>baz</h1>
<p>Bar foo</p>

ATX見出しは空でもかまいません。

## 
#
### ###
<h2></h2>
<h1></h1>
<h3></h3>