Github Markdown Link do tej samej strony

107

Powiedzmy, że mam dwa punkty na tej samej stronie wiki git hub, którą w tym celu nazwiemy place 1i 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).

Alternatywą jest ToC.

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

Czy jest na to sposób? Uwaga - widziałem to, więc zakładam, że to na temat. Ponadto, który dotyczy przechodzenia między plikami, ten dotyczy przechodzenia między tym samym plikiem.

Alexander Craggs
źródło
@flyx - Dzięki, jeśli to zadziała, odpowiem =)
Alexander Craggs
2
ta odpowiedź jest prawdopodobnie odpowiednia dla Ciebie.
flyx
@flyx Trochę za późno, ale dzięki! To rzeczywiście bardzo mi pomogło :)
Alexander Craggs,

Odpowiedzi:

145

To działa na 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).

Podsumowanie reguł konwersji:

  • znaki interpunkcyjne zostaną usunięte
  • wiodące białe spacje zostaną usunięte
  • wielkie litery zostaną zamienione na małe
  • spacje między literami zostaną zamienione na -

Dobrym przykładem dokumentu z dużą ilością linków i formatowania jest LivingSocial API Design Guide

FelixEnescu
źródło
2
Zwróć uwagę, że samo łącze referencyjne musi być zakodowane małymi literami. Korzystając z powyższego przykładu, jeśli utworzysz łącze do [here](#Place-2), łącze nie będzie działać. Zwróć uwagę, jak w tym przykładzie nagłówek nosi nazwę „Miejsce 2”, a łącze do niego jest (prawidłowo) wywołane [here](#place-2).
DaveL17
6
Jeśli masz 2 lub więcej pozycji z tej samej nazwie Placełącza zostanie nazwany place, place-1, place-2, itd. Następnie, jeśli masz również wyraźny nagłówek Place 2jego link będzie place-2-1.
Kevin
1
Odpowiedź jest nadal pomocna, ponieważ działa w Gitlab Wiki. Metoda html (używająca znacznika kotwicy w wiki gitlab) nie działa. Rozumiem, że pytanie dotyczyło githuba.
Nditah
Wygląda na to, że BitBucket nie obsługuje tego. Zamiast tego używam kotwicy <a name="link">.
рüффп
26

Możliwe jest również tworzenie nazwanych kotwic niestandardowych, jeśli na przykład masz kilka (pod-) nagłówków o tej samej nazwie. Aby to zrobić z nagłówkiem, wstaw tag HTML:

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

Następnie połącz z nim za pomocą atrybutu ID:

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

Działa również dodanie znacznika kotwicy bezpośrednio do dokumentu:

<a id="my-anchor"></a>
bydło
źródło
2
Dziękuję, to rozwiązanie działa wspaniale iz jednego powodu. Zmiany w przecenach GIT w zeszłym roku uniemożliwiają dodawanie nagłówków, tak jak #my headingto konieczne, # my headingi dodawanie spacji w kotwicy, jak (# my-heading)nie działa
MitchellK
0

Niestety wygląda na to, że GitHub wiki usuwa wszystkie tagi „id = ..” z niestandardowego kodu HTML, który dodajesz do strony wiki, więc jedynymi działającymi kotwicami na stronie są nagłówki.

cpurdy
źródło
0

Skopiowano z GitHub Gist - oryginalny post znajdujący się tutaj

Aby utworzyć linki do zakotwiczeń, które przeskakują do różnych sekcji pliku README (jak w interaktywnym spisie treści), najpierw utwórz nagłówek:

#Real Cool Heading

Łącze zakotwiczenia dla tego nagłówka to nazwa nagłówka zapisana małymi literami z myślnikami w miejscach, w których występują spacje. Nazwę kotwicy możesz zawsze uzyskać, odwiedzając plik README na Github.com i klikając kotwicę, która pojawia się po najechaniu kursorem na lewą stronę nagłówka. Skopiuj wszystko zaczynając od #:

#real-cool-heading

Gdziekolwiek chcesz połączyć się z sekcją Real Cool Heading, umieść żądany tekst w nawiasach, a następnie link do kotwicy w nawiasach:

[Go to Real Cool Heading section](#real-cool-heading)
EladTal
źródło