link github do strony wiki z pliku README

91

Jak utworzyć łącze z pliku README.md do strony Wiki w serwisie Github? Każdy przykład wydaje się pokazywać linkowanie z jednej strony wiki do innej strony wiki lub z jednego pliku README do innego pliku w repozytorium. Ale żaden z nich nie pokazuje powiązań między nimi

veilig
źródło
Masz rację. „z jednego pliku README do innego pliku w repozytorium” działa, oficjalny ref help.github.com/articles/relative-links-in-readmes oficjalny blog github.com/blog/1395-relative-links-in-markup- pliki , zobacz także bibwild.wordpress.com/2013/01/30/… .
Stéphane Gourichon
Wnikliwe o tym, dlaczego odsyłacze z pliku README do wiki nie są tak pożądane: „Jasne, możesz utworzyć łącze do swojej witryny wiki - ale wiki nie jest wersjonowane wraz z kodem źródłowym i chcesz utworzyć łącze do wersji dokumentów, które są z nią powiązane dokładna migawka repozytorium źródłowego, na które patrzysz. Jasne, możesz utworzyć link za pomocą bezwzględnych hiperłączy URL - ale ten sam problem, zawsze łączysz się z wzorcem, gdy chcesz utworzyć link do pliku w tej samej migawce przegląda README w. ” Źródło: bibwild.wordpress.com/2013/01/30/…
Stéphane Gourichon

Odpowiedzi:

67

Musiałbyś użyć bezwzględnego adresu URL, a nie względnego.

Na przykład:

[Sites Using React](https://github.com/facebook/react/wiki/Sites-Using-React)
maxdeviant
źródło
4
ok, tak właśnie myślałem - chciałem się tylko upewnić, że nie ma lepszego sposobu.
welon
2
W dokumencie, do którego prowadzi @ jmar777, ostrzega przed użyciem bezwzględnych adresów URL: „Użytkownicy klonujący repozytorium będą mieli znacznie trudniej, aby linki działały, niż oczekiwano”.
Dave Sexton
@DaveSexton Odnosi się to konkretnie do linkowania do innych plików w repozytorium (które zawsze będzie względne w stosunku do README). Łącząc się z czymś zewnętrznym (np. Wiki), chcesz użyć bezwzględnych adresów URL.
maxdeviant
92

Właśnie natknąłem się na to pytanie i zobaczyłem, że to niemożliwe, ale i tak uparcie próbowałem. Dobra wiadomość, ponieważ faktycznie można to zrobić za pomocą linków względnych!

Jeśli spojrzysz na dokumentację linków względnych na GitHub , zobaczysz, że obsługuje ona ./i ../operandy.

Zakładając, że plik README znajduje się pod adresem:

https://github.com/<user-name>/<repo-name>/blob/master/README.md

... a wiki znajduje się pod adresem:

https://github.com/<user-name>/<repo-name>/wiki

... to oznacza, że ​​możesz po prostu wrócić z README do wiki, na przykład:

[My Awesome Wiki](../../wiki)


Aktualizacja: Jak zauważyli niektórzy w komentarzach (dzięki!), Pamiętaj, że te względne linki będą się łamać na klonach i rozwidleniach, więc pamiętaj, aby rozważyć to przy swojej decyzji!

jmar777
źródło
15
Ciekawe, ale zauważ, że plik README.md może być przeglądany z lokalnego klonu zamiast z sieci. W takim przypadku jedyną rzeczą, która działa, jest link z bezwzględnym adresem URL.
Stéphane Gourichon
1
Słuszna uwaga, @ StéphaneGourichon, nie rozważałem lokalnego przeglądania pliku Readme. Chociaż przypuszczam, że jeśli pożądane są linki względne, jest to dopuszczalne ograniczenie.
jmar777
2
Możesz sklonować wiki lokalnie jako oddzielne repozytorium git: stackoverflow.com/questions/15080848/…
EriF89
3
Słowo ostrzeżenia: podczas przeglądania pojedynczych plików, takich jak a README.mdi określony obiekt blob dla zatwierdzenia, to nie zadziała.
kaiser
Jak wspomniał Stephane Gourichon, linki względne nie zawsze są do zrobienia. Innym przykładem jest sytuacja, w której chcesz zainstalować pakiet za pośrednictwem platformy open source innej firmy. W przypadku Pythona jest to PyPi. PyPi załaduje się w opisie, ale wszystkie względne linki zostaną uszkodzone. W tym przypadku musisz przejść z bezwzględnymi adresami URL.
cgnorthcutt
1

Po prostu dodaj ten, jeśli chcesz odnieść się do pliku repozytorium z wnętrza wiki ../../blob/master/. W połączeniu z odpowiedzią z jmar777 pozwala to na całkowitą integrację kodu i wiki oraz eliminację potrzeby stosowania rozdętego pliku readme.md.

Aby działało lokalnie tak dobrze, jak musiałaby być struktura plików

./Wiki/YourWikiRepo
./blob/master/YourCodeRepo
DfAC
źródło
1

Odkryłem, że muszę cofnąć się o 3 poziomy w porównaniu z 2 poziomami, jak opisano w podejściu jmar777.

Kiedy użyłem

../../wiki

Wygenerowany link to https://github.com/<username>/blob/wiki

Musiałem użyć:

../../../wiki

To wygenerowało https://github.com/<username>/wiki

Grendel
źródło
1

Używam GitLab. Mój link do mojej strony Wiki wygląda następująco.

Checkout the [Wiki page](/%2E%2E/wikis/Welcome)

Wypróbowałem inne rekomendacje, które są tutaj opublikowane, ale ciągle zmieniałem adres URL z ponownymi zapisami, które zepsuły link.

LinuxGuru
źródło