web-dev-qa-db-ja.com

Markdownで同じ文書の一部にリンクするにはどうすればいいですか?

私は大きなMarkdown文書を書いています、そして文書の様々な場所へのリンクを提供する種類の目次を始めに置きたいです。これどうやってするの?

使ってみた

[a link](# MyTitle)

MyTitleはドキュメント内のタイトルで、これはうまくいきませんでした。

393

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>
37
applicative

Githubは自動的にあなたのヘッダからアンカータグを解析します。それで、あなたは以下をすることができます:

[Custom foo description](#foo)

# Foo

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

:すべての見出しサイズに対して#を1つだけにし、#とアンカー名の間にスペースを入れないでください。ワード。

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

### My Multi Word Header

更新

pandocもそのまま使える。

636
uberllama

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

<a name="abcde">

の前および

</a>

の後にリンクしたい行の後に。それからマークダウンリンクのように:

[link text](#abcde)

文書内のどこにでもアクセスできます。

<div…/>ソリューションはidプロパティを追加するためだけに「ダミー」の区分を挿入していますが、これはページ構造を破壊する可能性がありますが、<a name="abcde"/>ソリューションは非常に無害なはずです。

(PS:あなたがリンクしたい行に、アンカーに入れても大丈夫かもしれません。

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

しかし、これはMarkdownがこれをどのように扱うかによって異なります。たとえば、Stack Overflowアンサーフォーマッタはこれに満足しています。)

95
Steve Powell

これは時代遅れのスレッドかもしれませんが、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

66
Ally

はい、markdownはこれを行いますが、名前のアンカー<a name='xyx'>を指定する必要があります。

完全な例

これはリンクを作成します
[tasks](#tasks)

この文書の後半で、名前付きアンカーを作成します(それが呼び出されるものは何でも)。

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

ヘッダの周りにも折り返すことができます。

<a name="tasks">
### Agile tasks (created by developer)
</a>
17
davidj411

Pandocマニュアルはあなたのヘッダにそれらの識別子を使ってリンクする方法を説明します。私は他のパーサでこれのサポートをチェックしませんでした、しかしそれはがgithubでは動作しないと報告されました。

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

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

あるいは自動生成された識別子(この場合は#my-heading-text)を使うことができます。両方とも pandocマニュアル で詳しく説明されています。

NOTE:これはのみに変換してHTMLに作用します。 /、LaTexConTeXtTextileまたはAsciiDoc

10
hoijui

Markdown仕様にはそのような指令はありません。ごめんなさい。

7
Nick Gerakines

Yaがナビゲートしたい見出し内のシンボルでfancyを取得した場合に留意すべきいくつかの追加事項...

# What this is about


------


#### Table of Contents


- [About](#what-this-is-about)

- [&#9889; Sunopsis](#9889-tldr)

- [:gear: Grinders](#it-grinds-my-gears)

- [Attribution]


------


## &#9889; TLDR


Words for those short on time or attention.


___


## It Grinds my :gear:s


Here _`:gear:`_ is not something like &#9881; or &#9965;


___


## &#9956; Attribution


Probably to much time at a keyboard



[Attribution]: #9956-attribution

...見出し文字列内の#;&:などは、通常、エスケープではなく無視/ストライプされ、citationスタイルリンクを使用してすばやく使用することもできますより簡単に。

GitHubは、コミット、readmeファイルなどで:Word:構文をサポートしています。そこで使用することに興味がある場合は Gist (rxaviersから)を参照してください。

また、他のほぼすべての場所で、最新のブラウザでは10進数または16進数を使用できます。 w3schools からのチートシートはpurdy handyです。特に、CSS ::beforeまたは::after疑似要素とシンボルを使用している場合は、スタイルがより適切です。

ボーナスポイント?

見出し内の画像や他のリンクがid...

- [Imaged](#alt-textbadge__examplehttpsexamplecom-to-somewhere)


## [![Alt Text][badge__example]](https://example.com) To Somewhere


[badge__example]:
  https://img.shields.io/badge/Left-Right-success.svg?labelColor=brown&logo=stackexchange
  "Eeak a mouse!"

注意事項

MarkDownレンダリングは場所によって異なるため、次のように...

## methodName([options]) => <code>Promise</code>

... GitHub上のidの要素は次のようになります...

id="methodnameoptions--promise"

... asVanillaの衛生状態では、idが...

id="methodnameoptions-codepromisecode"

...つまり、テンプレートからMarkDownファイルを作成またはコンパイルするには、slugifeingの1つの方法をターゲットにするか、さまざまなclever見出しのテキストをきれいにするような場所。

4
S0AndS0

Gitlabは GitLab Flavored Markdown(GFM)を使用します

ここで「すべてのMarkdownレンダリングされたヘッダは自動的にIDを取得します」

マウスを使って次のことができます。

  • マウスをヘッダの上に移動
  • ヘッダーから左に見えるようになっているホバーセレクターの上にマウスを移動します
  • マウスの右クリックでリンクをコピーして保存

    例えば、README.mdファイルにはヘッダがあります。

## series expansion formula of the Boettcher function

これはリンクを与える:

https://gitlab.com/adammajewski/parameter_external_angle/blob/master/README.md#series-expansion-formula-of-the-boettcher-function

接頭辞は削除することができるので、ここのリンクは単に

file#header

これはここで意味します:

README.md#series-expansion-formula-of-the-boettcher-function

今ではそれが使用することができます:

[series expansion formula of the Boettcher function](README.md#series-expansion-formula-of-the-boettcher-function)

手動で行うこともできます。スペースをハイフン記号に置き換えます。

実例は こちら

3
Adam

MultiMarkdownがコメントのオプションとして言及されて以来。

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

文書内の見出しには、内部リンクを作成するためにこの形式の見出し名を単に[heading][]で指定します。

ここでもっと読んでください: MultiMarkdown-5相互参照

クロスリファレンス

頻繁に要求される機能は、Markdownが外部リンクを扱うのと同じくらい簡単に自動的に文書内リンクを扱うことができることでした。この目的のために、 "Some Text"というヘッダが存在する場合、[Some Text] []をクロスリンクとして解釈する機能を追加しました。

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

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

###概要[MultiMarkdownOverview] ##

これにより、[MultiMarkdownOverview]を使用して、このセクションを特に参照することができます。概要という名前の別のセクションを参照することはできません。これはatxまたはsettextスタイルのヘッダで動作します。

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

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

1
jwpfox

Kramdownを使うと、これはうまくいくようです:

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

私はそれが言及されているのを見ます

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

効率的に動作しますが、前者はヘッダ以外の要素や複数の単語を含むヘッダの代わりになるかもしれません。

1
kevin change

<a name="">トリックに関するもう少しのスピン:

<a id="a-link"></a> Title
------
#### <a id="a-link"></a> Title (when you wanna control the h{N} with #'s)
0
laggingreflex