内部リンク/名前付きアンカーに対する MultiMarkdown のサポートについて多くの言及に出くわしましたが、実際にそれを行う方法の例を 1 つも見つけることができません。
では、名前付きアンカーを示すための構文は何ですか? また、他の URL へのリンクと同じように ( の代わりに #foo のみを使用してhttp://....
) リンクするための構文は何ですか?
内部リンク/名前付きアンカーに対する MultiMarkdown のサポートについて多くの言及に出くわしましたが、実際にそれを行う方法の例を 1 つも見つけることができません。
では、名前付きアンカーを示すための構文は何ですか? また、他の URL へのリンクと同じように ( の代わりに #foo のみを使用してhttp://....
) リンクするための構文は何ですか?
<a name="abcd"></a>
標準の Markdown では、リンクしたい場所にアンカーを置き、同じページ内で で参照し[link text](#abcd)
ます。
(これは、この回答で説明されている理由により、ではname=
なくを使用します。)id=
[link text](http://...#abcd)
もちろん、リモート参照も使用できます。
ソース テキストとターゲット テキストを制御できれば、これは夢のように機能します。アンカーは見出しにも表示できます。したがって、次のようになります。
### <a name="head1234"></a>A Heading in this SO entry!
生成:
それにリンクすることもできます:
and we can even [link](#head1234) to it so:
(SO では、アンカーが削除されているため、リンクは機能しません。)
マークダウン ファイルにヘッダーがある場合は、それらをファイルに直接リンクできます。
マークダウン ヘッダー:
## The Header
これにより、暗黙的な ID が生成され#the-header
ます (内部スペースをハイフンに置き換え、小文字にします)。
この ID に移動するには、次のようなリンクを作成できます。
[Link to Header](#the-header)
これは次と同等です。
<a href="#the-header">Link to Header</a>
参照の名前は小文字であることに注意してください#header
。
Multimarkdownユーザーガイドから引用(Twitterの@MultiMarkdownに指摘していただきありがとうございます)
[Some Text][]
「SomeText」という名前のヘッダーにリンクします<br>例:
### Some Text ###
複数のヘッダーが同じタイトルを持っている場合を明確にするために選択したオプションのラベル:
### Overview [MultiMarkdownOverview] ##
これにより、[MultiMarkdownOverview]を使用して、Overviewという名前の別のセクションではなく、このセクションを具体的に参照できます。これは、atxまたはsettextスタイルのヘッダーで機能します。
ヘッダーで使用されているのと同じIDを使用してアンカーを既に定義している場合は、定義されたアンカーが優先されます。
ドキュメント内のヘッダーに加えて、相互参照にも使用できる画像とテーブルのラベルを提供できます。
私はGithub Flavored Markdownをしばらくテストしましたが、次の 4 つのルールで要約できます。
-
たとえば、セクションの名前が次の場合:
## 1.1 Hello World
この方法でリンクを作成します。
[Link](#11-hello-world)
内部リンク (セクションに関連する) を作成する最良の方法は、リストを作成することですが、リンクの代わりに、ヘッダーにスペースが含まれている場合は#section
配置します。#section-title
マークダウン
Go to section
* [Hello](#hello)
* [Hello World](#hello-world)
* [Another section](#new-section) <-- it's called 'Another section' in this list but refers to 'New section'
## Hello
### Hello World
## New section
リストのプレビュー
Go to section
Hello <-- [Hello](#hello) -- go to `Hello` section
Hello World <-- [Hello World](#hello world) -- go to `Hello World` section
Another section <-- [Another section](#new-section) -- go to `New section`
HTML
<p>Go to section</p>
<ul>
<li><a href="#hello">Hello</a></li>
<li><a href="#hello-world">Hello World</a></li>
<li><a href="#new-section">Another section</a> <– it’s called ‘Another section’ in this list but refers to ‘New section’</li>
</ul>
<h2 id="hello">Hello</h2>
<h3 id="hello-world">Hello World</h3>
<h2 id="new-section">New section</h2>
h1
、h2
、h3
などのヘッダーであるかどうかは関係ありません。常に 1 つだけを使用して参照します#
。
上記の例に示すように、セクション リスト内のすべての参照は小文字のテキストに変換する必要があります。
セクションへのリンクは小文字にする必要があります。それ以外の場合は機能しません。この手法は、すべての Markdown バリアント、および MultiMarkdown で非常にうまく機能します。
現在、Pandocを使用してドキュメント形式を変換しています。MultiMarkdown よりもはるかに優れています。
Pandoc のテストはこちら
別のオプション (すべてのリンクをファイルの下部に配置できます):
Here is an [example label].
[example label]: #the-anchor-name-or-id "Optional title for mouse hover"