web-dev-qa-db-ja.com

Markdownでは、ページのフラグメント、つまり#some_idにリンクする最良の方法は何ですか?

Markdownを使用してページの別の領域を参照する方法を見つけようとしています。を追加すれば機能します

<div id="mylink" /> 

そしてリンクのために:

[My link](#mylink)

しかし、私の推測では、Markdownにページ内リンクを行う他の方法があり、それはdivタグを含まないものです。

何か案は?

115
Chris

この回答 を参照してください。

要約すると、宛先を作成します

<a name="sometext"></a>

マークダウンマークアップのどこかに挿入します(たとえば、ヘッダーに:

## heading<a name="headin"></a>

マークダウンリンケージを使用してリンクします。

[This is the link text](#headin)

または

[some text](#sometext)

<div>を使用しないでください-これは多くのレンダラーのレイアウトを台無しにします。

(上記のid=name=に変更しました。面倒な説明については この回答 を参照してください。)

152
Steve Powell

これは、マークダウンからhtmlを生成するために使用しているものに依存すると思います。 jekyll(デフォルトではgihub.ioページで使用される)が、生成するhtmlの見出しにid = ""属性を自動的に追加することに気付きました。

たとえば、マークダウンが

_My header
---------
_

結果のHTMLは次のようになります。

_<h2 id="my-header">My header</h2>
_

したがって、単に[My link](#my-header)でリンクできます

20
bodgix

PHPバージョンのMarkdown を使用すると、次のいずれかの構文を使用して、ヘッダーをページ内のフラグメント識別子にリンクすることもできます here

Header 1            {#header1}
========

## Header 2 ##      {#header2}

その後

[Link back to header 1](#header1)
[Link back to header 2](#header2)

残念ながら、この構文は現在ヘッダーでのみサポートされていますが、少なくとも目次を作成するのに役立つ可能性があります。

14
Klokie

HTMLページ内のリンクの宛先アンカーは、id属性を持つ任意の要素です。 W3Cサイトの Links を参照してください。関連セクションからの引用は次のとおりです。

HTMLドキュメントの宛先アンカーは、A要素(name属性で命名)または他の要素(id属性で命名)によって指定できます。

MarkdownはHTMLをHTMLとして処理するため( Inline HTML を参照)、好きな要素からフラグメント識別子を作成できます。たとえば、段落にリンクする場合は、段落タグで段落をラップし、idを含めます。

_<p id="mylink">Lorem ipsum dolor sit amet...</p>
_

次に、標準のMarkdown [My link](#mylink)を使用して、フラグメントアンカーへのリンクを作成します。これは、追加のマークアップを必要としないため、HTMLをクリーンに保つのに役立ちます。

3
Mike

Visual Studio Team Foundation Server(TFS)2015を使用する人にとっては、組み込み<a> または <div>要素、少なくともヘッダー内。また、ヘッダーの絵文字も好きではありません:

### ???? Configuration ????

Lorem ipsum problem fixem.

翻訳先:

<h3 id="-configuration-">???? Configuration ????</h3>
<p>Lorem ipsum problem fixem.</p>

したがって、リンクはそのid(Visual Studioの this およびその他のプレビュー拡張機能を壊します)を使用するか、絵文字を削除する必要があります。

Here's [how to setup](#-configuration-) //???? Configuration ????
Here's [how to setup](#configuration) //Configuration

後者のバージョンは、TFSとVisual Studioのマークダウンプレビューのの両方でオンラインで動作します。

2
Nick