833

私は大きな Markdown ドキュメントを書いており、ドキュメント内のさまざまな場所へのリンクを提供するような目次を最初に配置したいと考えています。これどうやってするの?

私は使用してみました:

[a link](# MyTitle)

whereMyTitleはドキュメント内のタイトルですが、これは機能しませんでした。

4

14 に答える 14

1460

Github は、ヘッダーからアンカー タグを自動的に解析します。したがって、次のことができます。

[Custom foo description](#foo)

# Foo

上記の場合、Fooヘッダーは次の名前のアンカー タグを生成しました。foo

: すべての見出しサイズに対して 1 つだけ、アンカー名とアンカー名#の間にスペースを入れないでください。アンカー タグ名は小文字にする必要があり、複数単語の場合はダッシュで区切る必要があります#

[click on this link](#my-multi-word-header)

### My Multi Word Header

アップデート

すぐに使用pandocできます。

于 2013-05-07T19:17:20.763 に答える
151

これは時代遅れのスレッドかもしれませんが、Github のマークダウンで内部ドキュメント リンクを作成するには...
(注: 小文字の #title)

# Contents
 - [Specification](#specification) 
 - [Dependencies Title](#dependencies-title) 

## Specification
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. 

## Dependencies Title
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. Example text blah. Example text blah. 
Example text blah. Example text blah. 

良い質問があったので、回答を編集しました。

#- , ##,###を使用して、任意のタイトル サイズへの内部リンク#### を作成できます。以下に簡単な例を作成しました... https://github.com/aogilvie/markdownLinkTest

于 2013-04-09T04:13:45.487 に答える
143

実験して、を使用して解決策を見つけました<div…/>が、明らかな解決策は、ページ内の好きな場所に独自のアンカーポイントを配置することです。

<a name="abcde">

</a>

「リンク」したい行の後。次に、次のようなマークダウンリンク:

[link text](#abcde)

ドキュメントのどこにでもあなたを連れて行きます。

この<div…/>ソリューションは、プロパティを追加するためだけに「ダミー」の分割を挿入しidます。これはページ構造を混乱させる可能性がありますが、<a name="abcde"/>ソリューションはまったく無害である必要があります。

(追記:次のように、リンクしたい行にアンカーを配置しても問題ない場合があります。

## <a name="head1">Heading One</a>

しかし、これはMarkdownがこれをどのように扱うかに依存します。たとえば、Stack Overflow回答フォーマッタはこれに満足しています!)

于 2011-06-27T15:04:25.307 に答える
37

はい、マークダウンはこれを行いますが、アンカーという名前を指定する必要があります<a name='xyx'>

完全な例、

これによりリンクが作成されます
[tasks](#tasks)

ドキュメントの他の場所では、名前付きアンカーを作成します (名前は何でも)。

<a name="tasks">
   my tasks
</a>

ヘッダーにもラップできることに注意してください。

<a name="tasks">
### Agile tasks (created by developer)
</a>
于 2015-06-11T19:13:41.833 に答える
30

pandocでは、htmlの生成でオプションを使用する--tocと、セクションへのリンクを含む目次が生成され、セクションの見出しから目次に戻ります。これは、LaTeX、rtf、rstなど、pandocが書き込む他の形式と似ています。

pandoc --toc happiness.txt -o happiness.html

マークダウンのこのビット:

% True Happiness

Introduction
------------

Many have posed the question of true happiness.  In this blog post we propose to
solve it.

First Attempts
--------------

The earliest attempts at attaining true happiness of course aimed at pleasure. 
Soon, though, the downside of pleasure was revealed.

これをhtmlの本体として生成します:

<h1 class="title">
    True Happiness
</h1>
<div id="TOC">
    <ul>
        <li>
            <a href="#introduction">Introduction</a>
        </li>
        <li>
            <a href="#first-attempts">First Attempts</a>
        </li>
    </ul>
</div>
<div id="introduction">
    <h2>
        <a href="#TOC">Introduction</a>
    </h2>
    <p>
        Many have posed the question of true happiness. In this blog post we propose to solve it.
    </p>
</div>
<div id="first-attempts">
    <h2>
        <a href="#TOC">First Attempts</a>
    </h2>
    <p>
        The earliest attempts at attaining true happiness of course aimed at pleasure. Soon, though, the downside of pleasure was revealed.
    </p>
</div>
于 2010-05-13T01:33:15.287 に答える
23

pandoc マニュアルでは、識別子を使用してヘッダーにリンクする方法について説明しています。他のパーサーでのサポートは確認していませんが、 github では動作しないことが報告されています。

識別子は手動で指定できます。

## my heading text {#mht}

Some normal text here,
including a [link to the header](#mht).

または、自動生成された識別子 (この場合は#my-heading-text) を使用できます。どちらもpandoc manualで詳しく説明されています。

: これは、 HTMLLaTexConTeXtTextile、またはAsciiDocに変換する場合にのみ機能します。

于 2014-05-19T09:11:46.403 に答える
9

Markdown 仕様にはそのようなディレクティブはありません。ごめん。

于 2010-05-12T21:25:15.463 に答える
1

kramdown を使用すると、次のようにうまく動作するようです。

[I want this to link to foo](#foo)
....
....
{: id="foo"}
### Foo are you?

言及されているのを見ました

[foo][#foo]
....
#Foo

効率的に機能しますが、前者はヘッダー以外の要素や複数の単語を持つヘッダーの代替として適している場合があります。

于 2016-02-08T23:31:15.483 に答える
1

MultiMarkdown はコメントのオプションとして言及されているためです。

MultiMarkdownでは、内部リンクの構文は単純です。

ドキュメント内の任意の見出しについて、この形式で見出し名を指定するだけで[heading][]、内部リンクが作成されます。

詳細はこちら: MultiMarkdown-5 Cross-references .

クロスリファレンス

頻繁に要求された機能は、Markdown が外部リンクを処理するのと同じくらい簡単にドキュメント内リンクを自動的に処理できるようにする機能でした。この目的のために、「Some Text」という名前のヘッダーが存在する場合、[Some Text][] をクロスリンクとして解釈する機能を追加しました。

例として、[Metadata][] は # Metadata (または ## Metadata、### Metadata、#### Metadata、##### Metadata、###### Metadata のいずれか) に移動します。

または、選択したオプションのラベルを含めて、複数のヘッダーに同じタイトルがある場合のあいまいさを解消することができます。

### 概要 [MultiMarkdownOverview] ##

これにより、[MultiMarkdownOverview] を使用して、概要という名前の別のセクションではなく、このセクションを具体的に参照できます。これは、atx または settext スタイルのヘッダーで機能します。

ヘッダーで使用されているものと同じ ID を使用して既にアンカーを定義している場合は、定義されたアンカーが優先されます。

ドキュメント内のヘッダーに加えて、相互参照にも使用できる画像や表にラベルを付けることができます。

于 2016-09-04T08:34:25.323 に答える