Existe-t-il un moyen de créer une ancre URL <a>
, un lien depuis un fichier Markdown vers un autre fichier du même référentiel et de la même branche (c'est-à-dire un lien relatif à la branche actuelle)?
Par exemple, dans la branche principale, j'ai un fichier README.md, que j'aimerais faire quelque chose comme:
# My Project
is really really cool. My Project has a subdir named myLib, see below.
## myLib documentation
see documentation [here](myLib/README.md)
Cela me permettrait de créer un lien entre un .md et un autre au sein de la même branche et de ne pas avoir à me soucier de la branche dans laquelle je me trouve (éviter d'avoir à faire une URL absolue qui inclut le nom de la branche github.com).
Voici un exemple pratique de ce que je veux dire:
- GOTO http://github.com/rynop/testRel , le lien ne fonctionne pas.
- GOTO http://github.com/rynop/testRel/blob/master/README.md , lien fonctionne.
Cela est attendu car à ce stade, l'URL de départ se trouve dans la branche. Maintenant, comment puis-je l'obtenir pour récupérer la branche actuelle dans le fichier README.md à la racine du référentiel?
Mise à jour : j'ai ouvert un problème avec GitHub pour cette demande de fonctionnalité.
Réponses:
Mise à jour le 30 janvier 2013 , 16 mois plus tard:
GitHub Blog Post Liens relatifs dans les fichiers de balisage :
Mise à jour du 20 décembre 2011:
Le problème de balisage GitHub 84 est actuellement fermé par technoweenie , avec le commentaire:
12 octobre 2011:
Si vous regardez la source brute
README.md
de Markdown lui-même (!), Les chemins relatifs ne semblent pas être pris en charge.Vous y trouverez des références comme:
la source
[Welcome](./wiki/Hello)
fonctionne, où Bonjour est une autre page wiki dans le même référentiel.[Welcome](Hello)
où Hello est une autre page wiki dans le même repo.Par exemple, vous avez un dépôt comme celui-ci:
Le lien relatif vers
subtext.md
intext.md
pourrait ressembler à ceci:Le lien relatif vers
subsubtext.md
intext.md
pourrait ressembler à ceci:Le lien relatif vers
subtext.md
insubsubtext.md
pourrait ressembler à ceci:Le lien relatif vers
subsubtext2.md
insubsubtext.md
pourrait ressembler à ceci:Le lien relatif vers
text.md
insubsubtext.md
pourrait ressembler à ceci:la source
Au 31 janvier 2013, la démarque Github prend en charge les liens relatifs aux fichiers .
Cependant, il y a quelques lacunes qui ont été discutées dans ce fil de commentaires .
Comme alternative, vous pouvez utiliser Gitdown pour construire des URL complètes vers le référentiel et même les rendre sensibles aux branches, par exemple
Gitdown est un préprocesseur de démarque GitHub. Il rationalise les tâches courantes associées à la maintenance d'une page de documentation pour un référentiel GitHub, par exemple la génération d'une table des matières, y compris des variables, la génération d'URL et l'obtention d'informations sur le référentiel lui-même au moment du traitement de l'entrée. Gitdown s'intègre parfaitement à vos scripts de construction.
Je suis l'auteur de la bibliothèque Gitdown.
la source
GitHub pourrait faire beaucoup mieux avec un travail minimal. Voici une solution de contournement.
Je pense que tu veux quelque chose de plus
ou pour pointer vers le fichier README lui-même
Bonne chance
la source
Je voulais juste ajouter cela car aucune des solutions ci-dessus ne fonctionnait si le lien cible est un répertoire avec des espaces dans son nom. Si le lien cible est un répertoire et qu'il a de l'espace, même échapper de l'espace avec \ ne rend pas le lien sur Github. La seule solution qui a fonctionné pour moi est d'utiliser
%20
pour chaque espace.par exemple: si la structure du répertoire est celle-ci
Pour créer un lien vers
Dir A
README.md présent dans,Top_dir
vous pouvez procéder comme suit :la source
Vous pouvez créer un lien vers un fichier, mais pas vers des dossiers, et gardez à l'esprit que Github ajoutera
/blob/master/
avant votre lien relatif (et les dossiers n'ont pas cette partie afin qu'ils ne puissent pas être liés, ni avec des<a>
balises HTML ni avec un lien Markdown).Donc, si nous avons un fichier
myrepo/src/Test.java
, il aura une URL comme:Et pour le lier dans le fichier readme, nous pouvons utiliser:
ou:
<a href="src/Test.java">This is a link</a>
.(Je suppose,
master
représente lamaster
branche et elle diffère lorsque le fichier est dans une autre branche.)la source
Vous pouvez utiliser des URL relatives depuis la racine de votre référentiel avec
<a href="">
. En supposant que votre dépôt est nommétestRel
, mettez ce qui suit danstestRel/README.md
:la source
Cette question est assez ancienne, mais elle semble toujours importante, car il n'est pas facile de mettre des références relatives de readme.md aux pages wiki sur Github.
J'ai joué un peu et ce lien relatif semble plutôt bien fonctionner:
[Your wiki page](../../wiki/your-wiki-page)
Les deux
../
supprimeront/blob/master/
et utiliseront votre base comme point de départ. Je n'ai pas essayé cela sur d'autres dépôts que Github, cependant (il peut y avoir des problèmes de compatibilité).la source
Je ne sais pas si je vois cette option ici. Vous pouvez simplement créer un
/folder
dans votre référentiel et l'utiliser directement:Aucun blob ou arbre ou nom de référentiel n'est nécessaire, et cela fonctionne comme un charme.
la source
Si vous voulez un lien relatif vers votre page wiki sur GitHub, utilisez ceci:
Si vous voulez un lien vers un fichier dans le référentiel, disons, pour référencer un fichier d'en-tête, et la page wiki est à la racine du wiki, utilisez ceci:
La raison du dernier est de sauter le chemin "/ wiki" avec "../", et d'aller à la branche principale dans l'arborescence du référentiel sans spécifier le nom du référentiel, qui pourrait changer à l'avenir.
la source