Github Markdown Same Page Link

92

Nehmen wir an, ich habe zwei Punkte auf derselben Git-Hub-Wiki-Seite, die wir dafür place 1und nennen place 2.

##Title

###Place 1

Hello, this is some text to fill in this, [here](place2), is a link to the second place.

###Place 2

Place one has the fun times of linking here, but I can also link back [here](place1).

Eine Alternative ist ein ToC.

##Title
[ToC]
###Place 1
###Place 2

Gibt es eine Möglichkeit, dies zu tun? Hinweis - gesehen dies so ich , dass es zum Thema nehme an. Auch das befasst sich mit dem Wechseln zwischen Dateien, dieses befasst sich mit dem Wechseln zwischen derselben Datei.

Alexander Craggs
quelle
@flyx - Danke, wenn das funktioniert, antworte ich zurück =)
Alexander Craggs
2
Diese Antwort ist wahrscheinlich die für Sie relevante.
Flyx
@flyx Winzig etwas spät, aber danke! Das hat mir in der Tat sehr geholfen :)
Alexander Craggs

Antworten:

120

Dies funktioniert auf Github:

## Title

### Place 1

Hello, this is some text to fill in this, [here](#place-2), is a link to the second place.

### Place 2

Place one has the fun times of linking here, but I can also link back [here](#place-1).

### Place's 3: other example

Place one has the fun times of linking here, but I can also link back [here](#places-3-other-example).

Zusammenfassung der Konvertierungsregeln:

  • Satzzeichen werden entfernt
  • führende Leerzeichen werden gelöscht
  • Großbuchstaben werden in Kleinbuchstaben umgewandelt
  • Leerzeichen zwischen Buchstaben werden in konvertiert -

Ein gutes Beispieldokument mit vielen Links und Formatierungen ist das LivingSocial API Design Guide

FelixEnescu
quelle
2
Beachten Sie, dass der Referenzlink selbst als Kleinbuchstabe codiert werden muss. Wenn Sie im obigen Beispiel einen Link zu [here](#Place-2)erstellen, funktioniert der Link nicht. Beachten Sie, wie im Beispiel die Überschrift "Platz 2" heißt und der Link dazu (richtig) heißt [here](#place-2).
DaveL17
5
Wenn Sie 2 oder mehr Positionen mit dem gleichen Namen Placewerden die Verbindungen genannt place, place-1, place-2usw. Dann , wenn Sie auch einen expliziten Header Place 2seiner Verbindung sein wird place-2-1.
Kevin
1
Die Antwort ist immer noch hilfreich, da sie im Gitlab-Wiki funktioniert. Die HTML-Methode (unter Verwendung des Ankertags im Gitlab-Wiki) funktioniert nicht. Ich verstehe, dass es sich bei der Frage um Github handelte.
Nditah
Es scheint in BitBucket nicht unterstützt zu werden. Ich verwende stattdessen den Anker <a name="link">.
9.
25

Es ist auch möglich, benannte benutzerdefinierte Anker zu erstellen, wenn Sie beispielsweise mehrere (Unter-) Überschriften mit demselben Namen haben. Fügen Sie dazu mit einem Header ein HTML-Tag ein:

<h4 id="login-optional-fields">
Optional Fields
</h4>

Verknüpfen Sie es dann mit dem ID-Attribut:

[see above](#login-optional-fields)

Das Hinzufügen eines Ankertags direkt zum Dokument funktioniert ebenfalls:

<a id="my-anchor"></a>
Vieh
quelle
2
Vielen Dank, diese Lösung ist ein Vergnügen und aus einem Grund. Änderungen am GIT-Abschlag im letzten Jahr verhindern, dass Überschriften hinzugefügt werden, wie #my headinges sein muss, # my headingund das Hinzufügen eines Leerzeichens im Anker (# my-heading)funktioniert nicht
MitchellK
0

Leider scheint das GitHub-Wiki alle "id = .." - Tags aus benutzerdefiniertem HTML zu entfernen, die Sie einer Wiki-Seite hinzufügen. Die einzigen funktionierenden Anker innerhalb einer Seite sind also die Überschriften.

cpurdy
quelle