Gibt es eine Möglichkeit, einen URL-Anker zu erstellen <a>
, der aus einer Markdown-Datei mit einer anderen Datei innerhalb desselben Repositorys und Zweigs verknüpft ist (auch bekannt als Link relativ zum aktuellen Zweig)?
Zum Beispiel habe ich im Hauptzweig eine README.md-Datei, die ich gerne machen würde wie:
# My Project
is really really cool. My Project has a subdir named myLib, see below.
## myLib documentation
see documentation [here](myLib/README.md)
Auf diese Weise kann ich innerhalb desselben Zweigs einen Link von einem .md zu einem anderen erstellen und muss mir keine Gedanken darüber machen, in welchem Zweig ich mich befinde (ich muss keine absolute URL erstellen, die den Namen des Zweigs github.com enthält).
Hier ist ein funktionierendes Beispiel dafür, was ich meine:
- GOTO http://github.com/rynop/testRel , Link funktioniert nicht.
- GOTO http://github.com/rynop/testRel/blob/master/README.md , Link funktioniert.
Dies wird erwartet, da sich zu diesem Zeitpunkt die Start-URL in der Verzweigung befindet. Wie kann ich nun den aktuellen Zweig in der Datei README.md im Stammverzeichnis des Repositorys abrufen?
Update : Ich habe ein Problem mit GitHub für diese Funktionsanforderung geöffnet .
Antworten:
Update 30. Januar 2013 , 16 Monate später:
GitHub Blog Post Relative Links in Markup-Dateien :
Update 20. Dezember 2011:
Die GitHub-Markup-Ausgabe 84 wird derzeit von technoweenie mit dem Kommentar geschlossen:
12. Oktober 2011:
Wenn Sie sich die Rohquelle
README.md
von Markdown selbst (!) Betrachten, scheinen relative Pfade nicht unterstützt zu werden.Sie finden Referenzen wie:
quelle
[Welcome](./wiki/Hello)
funktioniert, wobei Hello eine andere Wiki-Seite im selben Repo ist.[Welcome](Hello)
wenn Hello eine andere Wiki-Seite im selben Repo ist.Zum Beispiel haben Sie ein Repo wie das folgende:
Der relative Link zu
subtext.md
intext.md
könnte folgendermaßen aussehen:Der relative Link zu
subsubtext.md
intext.md
könnte folgendermaßen aussehen:Der relative Link zu
subtext.md
insubsubtext.md
könnte folgendermaßen aussehen:Der relative Link zu
subsubtext2.md
insubsubtext.md
könnte folgendermaßen aussehen:Der relative Link zu
text.md
insubsubtext.md
könnte folgendermaßen aussehen:quelle
Zum 31. Januar 2013 unterstützt Github Markdown relative Links zu Dateien .
Es gibt jedoch einige Mängel, die in diesem Kommentarthread erörtert wurden .
Alternativ können Sie Gitdown verwenden , um vollständige URLs zum Repository zu erstellen und diese sogar verzweigungsbewusst zu machen, z
Gitdown ist ein GitHub-Markdown-Präprozessor. Es optimiert allgemeine Aufgaben im Zusammenhang mit der Verwaltung einer Dokumentationsseite für ein GitHub-Repository, z. B. das Generieren von Inhaltsverzeichnissen, einschließlich Variablen, das Generieren von URLs und das Abrufen von Informationen über das Repository selbst zum Zeitpunkt der Verarbeitung der Eingabe. Gitdown lässt sich nahtlos in Ihre Build-Skripte integrieren.
Ich bin der Autor der Gitdown-Bibliothek.
quelle
GitHub könnte dies mit minimalem Aufwand viel besser machen. Hier ist eine Umgehung.
Ich denke du willst so etwas mehr
oder um auf die README selbst zu verweisen
Viel Glück
quelle
Ich wollte dies nur hinzufügen, da keine der oben genannten Lösungen funktioniert, wenn der Ziellink ein Verzeichnis mit Leerzeichen im Namen ist. Wenn der Ziellink ein Verzeichnis ist und Speicherplatz hat, wird der Link auf Github nicht gerendert, selbst wenn der Speicherplatz mit \ leer ist. Die einzige Lösung, die für mich funktioniert hat, ist die Verwendung
%20
für jeden Raum.zB: wenn dies die Verzeichnisstruktur ist
Um einen Link zu
Dir A
in README.md in zu erstellenTop_dir
, können Sie Folgendes tun:quelle
Sie können eine Verknüpfung zu einer Datei herstellen, jedoch nicht zu Ordnern. Beachten Sie jedoch, dass Github diese
/blob/master/
vor Ihrer relativen Verknüpfung hinzufügt (und Ordnern fehlt dieser Teil, sodass sie weder mit HTML verknüpft werden können<a>
Tags noch mit Markdown-Link verknüpft werden können).Wenn wir also eine Datei haben
myrepo/src/Test.java
, hat sie eine URL wie:Und um es in der Readme-Datei zu verknüpfen, können wir verwenden:
oder:
<a href="src/Test.java">This is a link</a>
.(Ich denke,
master
stellt denmaster
Zweig dar und es unterscheidet sich, wenn sich die Datei in einem anderen Zweig befindet.)quelle
Sie können relative URLs aus dem Stammverzeichnis Ihres Repos mit verwenden
<a href="">
. Angenommen, Ihr Repo heißttestRel
, geben Sie Folgendes eintestRel/README.md
:quelle
Diese Frage ist ziemlich alt, aber sie scheint immer noch wichtig zu sein, da es nicht einfach ist, relative Verweise von readme.md auf Wiki-Seiten auf Github zu setzen.
Ich habe ein bisschen herumgespielt und dieser relative Link scheint ziemlich gut zu funktionieren:
[Your wiki page](../../wiki/your-wiki-page)
Die beiden
../
entfernen/blob/master/
und verwenden Ihre Basis als Ausgangspunkt. Ich habe dies jedoch nicht in anderen Repositorys als Github versucht (möglicherweise gibt es Kompatibilitätsprobleme).quelle
Ich bin mir nicht sicher, ob ich diese Option hier sehe. Sie können einfach ein
/folder
in Ihrem Repository erstellen und es direkt verwenden:Es wird kein Blob, Baum oder Repository-Name benötigt und es funktioniert wie ein Zauber.
quelle
Wenn Sie einen relativen Link zu Ihrer Wiki-Seite auf GitHub wünschen, verwenden Sie Folgendes:
Wenn Sie einen Link zu einer Datei im Repository wünschen, um auf eine Header-Datei zu verweisen, und die Wiki-Seite sich im Stammverzeichnis des Wikis befindet, verwenden Sie Folgendes:
Der Grund für den letzten besteht darin, den Pfad "/ wiki" mit "../" zu überspringen und zum Hauptzweig im Repository-Baum zu wechseln, ohne den Repository-Namen anzugeben, der sich in Zukunft möglicherweise ändern wird.
quelle